mysql5.7.21 の異常起動を修正する方法

mysql5.7.21 の異常起動を修正する方法

同僚から、停電のため MySQL インスタンスを起動できないという報告がありました。 innodb_force_recovery=6 を使ってもダメだったので確認してみました。

トラブルシューティングのプロセス:

最も初期の起動情報にはエラー メッセージはなく、次のように [ERROR] Aborting プロンプトの行のみが表示されます。

その後、同僚が innodb_force_recovery=6 を使用したところ、以下のエラー メッセージが表示されましたが、それでも正常に起動できませんでした。このとき、何が起こっているのか調べることにしました。

起動ログをフィルタリングし、 grep ERROR /data/mysql/3306/mysql_run.err を実行します。

ご覧のとおり、すべてのエラーは主に次のとおりです。

MySQL を起動できない理由のほとんどはシステム データベースの問題によるもので、この場合も例外ではないようです。

--skip-grant-tables を使用してシステムにログインしようとしましたが、成功しました。

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/3306/my.cnf --user=mysql --skip-grant-tables &

次に、できるだけ早く innodb をチェックして実行します。

イノチェックサムibdata1

その後、出力は見つかりませんでした。

次に、mysqlcheck を実行すると、mysql ライブラリの下のテーブル内のいくつかのエラーが実際に修復されます。その後、通常の方法でシステムを再起動すると、MySQL は正常に戻ります。

mysqlcheck -u ルート -p --repair -A

要約:

1. MySQL はそれほど脆弱ではありません。破損したときに、時間と労力がかかるバックアップとリカバリによって復元する必要はありません。

2. 起動プロセス中に、--skip-grant-tables または innodb_force_recovery (このパラメータは cnf ファイルを変更する必要があります) を設定すると、MySQL がいくつかのチェックをスキップし、インスタンスが正常に起動できるようになります。

3. 起動後、データのバックアップまたはエクスポートを実行し、インスタンスの修復を試みることができます。

4. この場合、この問題はリアルタイム保存パラメータの設定が不適切であるために発生します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL リンクを表示し、異常なリンクを削除する方法
  • MySQLがbinlogファイルを手動で登録し、マスタースレーブ異常を引き起こす理由
  • MySQL データベース接続例外の概要 (収集する価値あり)
  • MySQL innodb例外の修復に関する経験の共有
  • MySQLの定義と例外処理の詳細
  • MySQL ストアド プロシージャの基本的な例外処理のチュートリアル
  • MySQLの異常なクエリケースの分析
  • MySQL 例外処理の簡単な分析
  • MySQL例外に対する一般的な解決策をいくつか分析する

<<:  JQuery を放棄すべきでしょうか?

>>:  Linux でリモート サーバー ファイルの状態を表示する方法

推薦する

航空機戦争ゲームを実装するためのJavaScript

この記事では、キャンバスとjsを使用して簡単な飛行機戦争を実装する方法を参考までに紹介します。具体的...

モバイルデバイス上の 1px 境界線を解決する最善の方法 (推奨)

モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...

Reactは、読み込み、読み込み完了、読み込み失敗の3つの段階の原則分析を実装します。

最近ブログに書いたのですが、プロジェクトリストの中に写真がたくさんあり、最初は読み込みが遅いので、ス...

Vueにおける混合継承の詳細な説明

目次混合継承の影響: 1. 継承Vue.extend メソッド​プロパティを拡張する2. ミックスイ...

nginx.conf のルートディレクトリ設定の詳細な説明

nginx.conf を構成するときには常に何らかの問題が発生します。ここでは、よくある問題とその解...

WHMCS V7.4.2 グラフィカル インストール チュートリアル

1. はじめにWHMCS は、ユーザー管理、請求書の支払い、ヘルプ サービスなど、オンライン ビジネ...

Ubuntu で nvidia グラフィック ドライバーをインストールする (簡単なインストール方法)

Ubuntu で nvidia グラフィック カード ドライバーをインストールします。同じ方法で ...

CSSの絶対と相対について

冒頭にこう書かれています:アブソリュートは言った。「親戚よ、私はあなたを私の人生で見たくない!」なぜ...

セマンティックタグを使用して、IE6、7、8と互換性のあるHTMLを記述します。

HTML5 では、ヘッダー、フッター、ナビゲーションなどのセマンティック タグが追加されているため...

Vue のスロットリング関数使用時の落とし穴ガイド

序文一般的なビジネス シナリオでは、検索ボックスへの入力が完了した後、検索データを取得するために関連...

Squid を使用して http および https 用のプロキシ サーバーを構築する方法

nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...

HTML で相対パスを使用してディレクトリのすべてのレベルのファイルを取得する方法の詳細な説明

相対パスの概念現在のファイルの場所を参照ポイントとして使用して、ターゲット ファイルへのパスを確立し...

Node はあいまい検索用の検索ボックスを実装します

この記事の例では、検索ボックスでファジークエリを実装するためのNodeの具体的なコードを参考までに共...

Dockerはコンテナに入るためにnsenterツールを使用する

Dockerコンテナを使用する場合は、nsenterツールを使用する方が便利です。システムにない場合...

Macでのファイル権限の表示と設定の詳細な説明

序文Mac システムのターミナルでファイルの権限を変更するには、Linux の chmod コマンド...