MySQLデータベースが頻繁に停止し、再起動しない

MySQLデータベースが頻繁に停止し、再起動しない

サーバー: Linode 専用 4G Ubuntu 18.04、Webmin + Virtualmin

時々、mysql サーバーが停止し、再起動に失敗します。私が見つけたログは次のとおりです。

Apr 11 20:54:57 bamboo kernel: [ 2082.915857] [ 7664]   112  7664   406072    46295   745472        3             0 mysqld
Apr 11 20:54:57 bamboo kernel: [ 2082.915859] [ 7701]     0  7701   129687      307   679936     1435             0 apache2
Apr 11 20:54:57 bamboo kernel: [ 2082.915860] [ 7702]     0  7702   129683      253   667648     1487             0 apache2
Apr 11 20:54:57 bamboo kernel: [ 2082.915861] Out of memory: Kill process 7664 (mysqld) score 40 or sacrifice child
Apr 11 20:54:57 bamboo kernel: [ 2082.919284] Killed process 7664 (mysqld) total-vm:1624288kB, anon-rss:185180kB, file-rss:0kB, shmem-rss:0kB
Apr 11 20:54:57 bamboo kernel: [ 2082.941447] oom_reaper: reaped process 7664 (mysqld), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
Apr 11 20:54:57 bamboo systemd[1]: mysql.service: Main process exited, code=killed, status=9/KILL
Apr 11 20:54:57 bamboo systemd[1]: mysql.service: Failed with result 'signal'.
Apr 11 20:54:57 bamboo systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Apr 11 20:54:57 bamboo systemd[1]: mysql.service: Scheduled restart job, restart counter is at 4.
Apr 11 20:54:57 bamboo systemd[1]: Stopped MySQL Community Server.

..........

Apr 11 14:02:53 bamboo systemd[1]: mysql.service: Scheduled restart job, restart counter is at 4.
Apr 11 14:02:53 bamboo systemd[1]: Stopped MySQL Community Server.
Apr 11 14:02:53 bamboo systemd[1]: Starting MySQL Community Server...
Apr 11 14:02:53 bamboo mysqld[4345]: Initialization of mysqld failed: 0
Apr 11 14:02:53 bamboo systemd[1]: mysql.service: Control process exited, code=exited status=1
Apr 11 14:02:53 bamboo systemd[1]: mysql.service: Failed with result 'exit-code'.
Apr 11 14:02:53 bamboo systemd[1]: Failed to start MySQL Community Server.
Apr 11 14:02:53 bamboo systemd[1]: mysql.service: Service hold-off time over, scheduling restart.

メモリの問題のようです。しかし、私はこのサーバーでいくつかの非常に小さな WordPress サイトをホストしており、メモリを使い切ることは不可能です。

サーバー グラフ: ここに画像の説明を入力してください

CPU 使用率が急上昇していることがわかります。これは、mysql データベースが停止したときです。

当時は特別なことは何もしていなかったため、問題を再現して考えられる原因を観察するのは非常に困難です。これを調査するには、ログを詳しく調べる必要があると思いますが、これは私の知識の範囲を超えています。

考えられる原因を見つける方法について、誰か教えていただけますか?

答え1

メモリ不足: プロセスを強制終了そしてリーパー...明らかにメモリの問題です。

MySQL が停止した場合、次の結果はどうなりますかfree -h?

MySQL を再起動してhtop別のコンソールでチェックインし、プロセス、RAM、CPU などをリアルタイムで監視してみてください。

MySQL コンソールで INNODB バッファ サイズを確認してください。おそらく、使用可能な物理メモリよりも大きいでしょう。

show global variables like 'innodb_buffer_pool_size';

SWAP パーティションはありますか?

Wordpress 側には、Wordpress ウェブサイトと Wordpress ウェブサイトがあります... プラグインはインストールしていますか? プラグインの中には、データベースを大量に使用するものもあります (または、単に最適化されていないものもあります)。

関連情報