勉強したことのメモ

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でtext型カラムに入っている数値をint型としてソートする
MySQLでtext型カラムに入っている数値をint型としてソートする

MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...

MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法
MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

MySQLで特定の値を加算しつつNULL値の場合は0にする方法
MySQLで特定の値を加算しつつNULL値の場合は0にする方法

いくつかのコードに対して投票を行い、その合計値をスコアとして出したい。ただ、投票 ...

MySQLで日時や日付で範囲検索する際に動作速度を向上させる方法
MySQLで日時や日付で範囲検索する際に動作速度を向上させる方法

MySQLでログ系等の大量にデータが格納されているテーブルから日時や日付で範囲検 ...

SQLで同じ値を複数のレコードに対してUPDATE
SQLで同じ値を複数のレコードに対してUPDATE

やりたかった事は、複数のレコードに対して 同じ値に更新したいというもの。 $sq ...