MySQL自動シャットダウン問題への対処の実践記録

MySQL自動シャットダウン問題への対処の実践記録

最近、あるプロジェクトを手伝ったのですが、MySQL マシンがしばらくすると自動的に停止し続けました。最初は突然止まったのかと思い、気にせず手動で再起動してしまいました。しかし、2日後にはまた止まってしまいました。

その後、mysqld ログを注意深く確認しました。

2020-05-27T10:15:12.569342Z 0 [システム] [MY-010116] [サーバー] /usr/libexec/mysqld (mysqld 8.0.17) がプロセス 19493 として開始されました
2020-05-27T10:15:14.448256Z 0 [システム] [MY-010229] [サーバー] クラッシュ回復を開始しています...
2020-05-27T10:15:14.475411Z 0 [システム] [MY-010232] [サーバー] クラッシュ回復が完了しました。
2020-05-27T10:15:14.691345Z 0 [警告] [MY-010068] [サーバー] CA 証明書 ca.pem は自己署名されています。
2020-05-27T10:15:15.677386Z 0 [システム] [MY-010931] [サーバー] /usr/libexec/mysqld: 接続準備完了。バージョン: '8.0.17' ソケット: '/var/lib/mysql/mysql.sock' ポート: 3306 ソース配布。
2020-05-27T10:15:15.951210Z 0 [システム] [MY-011323] [サーバー] X プラグインが接続準備完了。ソケット: '/var/lib/mysql/mysqlx.sock' バインド アドレス: '::' ポート: 33060
2020-05-27T11:26:19.955004Z 0 [システム] [MY-010116] [サーバー] /usr/libexec/mysqld (mysqld 8.0.17) がプロセス 19757 として開始されました
2020-05-27T11:26:20.181302Z 0 [エラー] [MY-012681] [InnoDB] mmap(137363456 バイト) が失敗しました。エラー番号 12
2020-05-27T11:26:20.181360Z 1 [エラー] [MY-012956] [InnoDB] バッファプールにメモリを割り当てることができません
2020-05-27T11:26:20.181379Z 1 [ERROR] [MY-012930] [InnoDB] プラグインの初期化がエラーのため中止されました。一般的なエラーです。
2020-05-27T11:26:20.181401Z 1 [エラー] [MY-010334] [サーバー] DD ストレージ エンジンの初期化に失敗しました
2020-05-27T11:26:20.181543Z 0 [エラー] [MY-010020] [サーバー] データ辞書の初期化に失敗しました。
2020-05-27T11:26:20.183642Z 0 [エラー] [MY-010119] [サーバー] 中止しています
2020-05-27T11:26:20.184163Z 0 [システム] [MY-010910] [サーバー] /usr/libexec/mysqld: シャットダウンが完了しました (mysqld 8.0.17) ソース配布。

上記のメッセージは、「バッファ プールにメモリを割り当てることができません」と表示されています。 Cannot allocate memory for the buffer pool 。すぐにメモリ不足を思い浮かべました。このマシンには 1GB のメモリがあり、Nginx と PHP-FPM を実行しています。

top を使用すると、mysqld がメモリの 48% を使用していることがわかりました。メモリ使用量はまだかなり高いです。

もちろん、マシン構成をアップグレードするのがより良い解決策ですが、結局のところ資金は限られています。まずスワップ領域を追加してみましょう:

dd if=/dev/zero of=/swapfile bs=1M カウント=2048
mkswap /スワップファイル
swapon /スワップファイル
systemctl で mysqld を再起動します。

上記では、マシンに 2GB のスワップ領域を追加しました。次に、mysqld を再起動します。再度 top を使用したところ、スワップ領域が徐々に使用されていることがわかりました。

昼寝を終えて目が覚めると、mysqld サービスが自動的に停止せず、メモリ使用量が 22% まで下がっていました。エラー ログを見ると空でした。

まあ、良さそうですね。あと数日観察してみて、問題がなければ大丈夫だと思います😎😎😎。

さて、これでMySQL自動シャットダウンの問題の対処方法に関するこの記事は終わりです。MySQL自動シャットダウン処理に関するより関連性の高いコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL自動停止プラグインFEDERATEDが無効になっている場合の完璧なソリューション
  • MySQLサービスの自動停止の解決策
  • MySQL が自動的に再起動する問題の解決方法

<<:  このリファレンスとJavaScriptのカスタムプロパティの詳細な説明

>>:  Linux で NFS のワンクリック展開を実装する方法

推薦する

ウェブデザインでは、まずウェブサイトの包括的なイメージの位置付けが必要です。

⑴ 内容によって形式が決まります。まず内容を充実させ、次にブロックに分割し、トーンを決め、最後に細部...

MySQLデータベースのトランザクションとインデックスの詳細な説明

目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...

Nginx の負荷分散と動的および静的分離の原理と構成

目次1. Nginxは負荷分散の原則を実装する2. Nginxの動的および静的分離の原則Nginx ...

MYSQL サブクエリとネストされたクエリの最適化例の分析

ゲーム史上最高スコアトップ100をチェックSQLコード cdb_playsgame ps から ps...

Vueは時間カウントダウン機能を実装する

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。必要:...

MySQLインデックスの使用に関するヒントと注意事項

1. インデックスの役割一般的なアプリケーション システムでは、読み取りと書き込みの比率は約 10:...

MySQLトリガーの使用

トリガーにより、ステートメントの実行前または実行後に他の SQL コードを実行できます。トリガーは、...

Ubuntu 16.04.5LTS に SVN をインストールする手順

この記事では、UbuntuシステムでSVNを設定するプロセスを簡単に紹介します。ソースを更新sudo...

MySQLクエリのパフォーマンスに影響を与える大きなオフセットの理由と最適化の詳細な説明

序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...

js の hasOwnProperty のプロパティとインスタンスの使用法の詳細な説明

1. js は hasOwnProperty が不正に占有されることから保護しません。オブジェクトに...

MySQLデータの同時更新を処理する方法

UPDATE はロックしますか?以下のような場合、SQL文はロックされますか? テーブル1を更新しま...

Linux 上での MySQL データベースのインストールと Java プロジェクトの構成に関する詳細なグラフィック説明

1. MySQLデータベースをインストールする① ダウンロードして解凍し、/opt/softディレク...

17 個の JavaScript ワンライナー

目次1. DOMとBOM関連1. 要素にフォーカスがあるかどうかを確認する2. 要素の兄弟ノードをす...

...

PXEを使用してCentOS7.6を自動的にインストールする方法の詳細なチュートリアル

1. 需要ベースには 300 台の新しいサーバーがあり、CentOS7.6 オペレーティング システ...