勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLが起動も再起動もできない際の対応方法

   2024/02/25  MySQL サーバー

サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。MySQLが原因っぽいのでMySQLを再起動しても改善されず。また、サーバー自体を再起動しても改善されなかった。

TOPコマンドで動いているサービスを見ると、動いていないはずのMySQLがのっているというよく分からない状態だった。

結論として原因はサーバのHDDをフルに使っている状態だった。自動更新系のサイトだったので勝手に容量が増えていき、満タンになっていた。

 

便利だったコマンド

find /var -size +100M -exec ls -lh {} \;

100MB以上のファイルを検索する。古いログとかを抽出して消していけば良い。

 

MySQLのログ

/var/log/mysqld.logに保存されているので、エラー詳細を確認したい場合はこちらを見る。

 

その他

HDD容量を増やす事が出来れば一番楽だけど、難しい場合もある。日々のサーバーのチェックは前日のメモリ使用量だったり、ロードアベレージを見ていたけど、HDD使用率も念のため見ていたほうが良さそう。

 - MySQL サーバー

  関連記事

MySQLとPHPの「image-comparator」ライブラリを使用して類似画像検索を実装する方法
MySQLとPHPの「image-comparator」ライブラリを使用して類似画像検索を実装する方法

先日PHPで画像を比較して類似度を算出する「image-comparator」ラ ...

MySQLで同一サーバーの異なるDB内のテーブルをJOINする
MySQLで同一サーバーの異なるDB内のテーブルをJOINする

同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...

MySQLでdatetime型にもインデックスを使用して高速化を図る方法
MySQLでdatetime型にもインデックスを使用して高速化を図る方法

ログ関連のデータを格納するテーブルがあり、集計を行う際に非常に時間がかかった。レ ...

MySQLのtinyintのカラムにbool値を入れた場合
MySQLのtinyintのカラムにbool値を入れた場合

他所のシステムに携わることがあり中身を色々見ているとMySQLでtinyint( ...

MySQLでINSERT時にオートインクリメントではないカラムに連番を登録する方法
MySQLでINSERT時にオートインクリメントではないカラムに連番を登録する方法

MySQLでINSERT時にオートインクリメントではないカラムに連番を登録したい ...