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 のワンクリック展開を実装する方法

推薦する

Centos7 Zabbix3.4 メールアラーム設定(メール内容がxx.bin添付ファイルになる問題の解決)

目次1. 監視Linuxホストを追加する2. メールボックスを設定する1. 監視Linuxホストを追...

Vue でデータが変更された後にビューを同期的に更新する方法

序文少し前に、興味深い問題を目にしました。Vue のデータが変更された後に、ビューを同期的に更新する...

Linux コマンドラインで電卓を使用する 5 つのコマンド

みなさんこんにちは。私は梁旭です。 Linux を使用するときに、計算を行う必要がある場合があり、そ...

Alibaba Cloud ECSインスタンスのユーザールートパスワードとリモート接続方法を設定する方法

Alibaba Cloud サーバーを購入した後、新しいインスタンスが正常に動作できるようにするには...

Vueはシンプルな計算機を実装する

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

MySQL テーブル全体の暗号化ソリューション keyring_file の詳細な説明

例示するMySql Community Edition は、5.7.11 以降、テーブルベースのデー...

HTML の一般的でないタグ optgroup、sub、sup、bdo のサンプルコード

Optgroup は、ドロップダウン リストのコンテンツをより整理するために、select タグで使...

入力選択スタイルを変更する CSS 疑似クラスのサンプルコード

注: この表はW3Schoolチュートリアルから引用したものです疑似要素の分類と機能: 入力選択スタ...

Vueはプログレスバーの変更効果を実現します

この記事ではVueを使ってプログレスバーの変更を簡単に実装してみましたので参考にしてください。具体的...

NodeとPythonの双方向通信実装コード

目次プロセスコミュニケーションプロセス間の双方向通信問題要約するサードパーティのデータ サプライヤー...

VUEはG2チャートを使用した実装を導入します

目次G2チャートについて使用テンプレートで使用される完全なコード (棒グラフ)世界地図を追加するG2...

MySQL データをエクスポートおよびインポートするための HeidiSQL ツール

場合によっては、SQL へのデータのエクスポートとインポートを容易にするために、特定のツールを使用し...

MySQL における UNION と UNION ALL の基本的な使い方

データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...

Flex モバイルレイアウトにおけるシングルラインレイアウトとダブルラインレイアウトの違いと使い方

レイアウトにul>liを使用した単一行レイアウトを以下に示します。 <ul class=...

VMware 仮想マシンのインストール Linux システムのグラフィック チュートリアル

この記事では、LinuxシステムのVMwareインストールの具体的な手順を参考までに紹介します。具体...