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

推薦する

jsのディープコピーを理解しましょう

目次js ディープコピーデータ保存方法浅いコピー/深いコピーとは何か一般的なディープコピーの実装1....

Windows SSHサーバーを簡単に構築するためのいくつかの手順

ここで言及されている SSH は Security Shell と呼ばれます。Linux をよく使用...

Docker が占有するディスク領域をクリーンアップする方法

Docker は多くのスペースを占有します。コンテナを実行したり、イメージを取得したり、アプリケー...

nginx 設定場所方法の概要

位置一致順序1. 「=」プレフィックス命令マッチング、マッチングが成功したら他のマッチングを停止2....

Linux の MySQL でリモート接続を承認する方法

注意: 他のマシン (IP) は、承認なしではクライアント経由で MySQL データベースに接続でき...

MySQL初心者はグループ化や集計クエリの煩わしさから解放されます

目次1. グループクエリの概略図2. groupbyキーワード構文の詳細な説明3. 簡単なグループク...

CSS XTHML の記述標準とよくある問題の概要 (ページ最適化)

プロジェクトドキュメントディレクトリDiv+CSS 命名規則 - 4 - Div+css 命名規則 ...

MySQL ソート機能の詳細

目次1. 問題のシナリオ2. 原因分析3. 解決策4. 知識を広げる4.1 クエリの最適化を制限する...

自作の Windows サーバーに egg アプリケーションを展開する方法 (画像とテキスト付き)

1. IEブラウザを使用してVPNにログインする 2. リモートログイン 3. サーバーに最新のn...

JavaScript の遅延読み込み属性パターンに関する簡単な説明

目次1. はじめに2. オンデマンド属性モード3. 乱雑な遅延読み込み属性パターン4. クラスの唯一...

最新の超詳細な VMware 仮想マシンのダウンロードとインストールのグラフィック チュートリアル

目次1. 仮想マシンをダウンロードする2. 仮想マシンのインストールVMware のダウンロードとイ...

Nginx で複数のドメイン名がドメインをまたいでアクセスできるようにマップを使用する方法

一般的なNginx構成ではクロスドメインが可能 サーバー{ 11111 を聞いてください。 serv...

MySQL空間関数を使用してロケーションパンチインを実装するための完全な手順

序文プロジェクトの要件は、ユーザーの現在の位置が特定の地理的位置範囲内にあるかどうかを判断することで...

Tomcat が https アクセスをサポートするための手順の説明

tomcat を https アクセスに対応させる方法ステップ: (1)キーストアファイルを生成する...

React forwardRefの使い方と注意点

これまで react.forwardRef は react の高階コンポーネントには適用できませんで...