Try   HackMD

MySQLの運用メモ

MySQLを運用した際の知見をまとめる。

Too many connectionsの発生

  • 問題
    • Too many connectionsのエラーとなる。
    • processlistで確認したときに、Command: Sleepが大量発生していた。
  • 原因
    • Goのトランザクション処理でClose処理に漏れがあったため、コネクションを開き続けてしまっていた。正常に終了したらエラーは直った

deadlock/conflict

SHOW ENGINEでデッドロック情報を確認する

> show engine innodb status\G;

LATEST DETECTED DEADLOCKに記載されている。

https://dev.mysql.com/doc/refman/5.6/ja/show-engine.html

Disk CRITICAL

  • 問題
    • Disk容量の使いすぎ
  • 対処
    • 不要なテーブル、データを削除
      • 論理削除したレコードを物理削除する
    • バイナリログを削減
      • バイナリログを削除する日数 expire_logs_days を指定する
      • 何も指定しないと、ずっと削除されないので注意が必要