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 でリモート サーバー ファイルの状態を表示する方法

推薦する

Ubuntu で nginx を使用して WebDAV ファイル サーバーを構築する詳細なプロセス

nginxをインストールするnginx-fullをインストールする必要があることに注意してください。...

jsを使用してカルーセル効果を実現する

今日は、参考までに、jsを使用してカルーセルマップの効果を実現する方法についてお話ししましょう。具体...

LinuxシステムにおけるMySQLの一般的な操作コマンド

仕える: # chkconfig --list すべてのシステムサービスを一覧表示する# chkco...

Linux ソースコードからのソケット (TCP) クライアント側での接続の例の詳細な説明

序文著者は、アプリケーションからフレームワーク、オペレーティング システムに至るまで、あらゆるコード...

テーブルを開く際のMySQLスレッドの問題の解決方法

問題の説明最近、MySQL5.6.21サーバーがありました。アプリケーションがリリースされた後、同時...

jQueryはシンプルなコメントエリアを実装します

この記事では、参考までに、簡単なコメントエリアを実装するためのjQueryの具体的なコードを紹介しま...

RedHat 6.5/CentOS 6.5 に MySQL 5.7.20 をインストールするための詳細なチュートリアル

rpmインストールパッケージをダウンロードするMySQL公式サイト: https://dev.mys...

MySQLの比較演算子正規表現マッチングREGEXPの使用の詳細な説明

1. データを初期化する `test_01` が存在する場合はテーブルを削除します。 テーブル「te...

MySQLシリーズのMariaDBサーバーのインストール

目次チュートリアルシリーズ1. yumパッケージマネージャーを使用してMariaDBサーバーをインス...

HTML ページ適応幅テーブル

WEB アプリケーションのページでは、テーブルがよく使用されます。列の数が限られているため、各列のコ...

VMware vCenter 6.7 のインストール プロセス (グラフィック チュートリアル)

背景当初は VMware の公式 Web サイトから 6.7 Vcenter をダウンロードしたかっ...

ES6実装クラスのプライベート変数の書き方をいくつか詳しく説明します

プライベート変数のクロージャ実装プライベート変数は共有されないnew キーワードにより、 perso...

Windows および Linux で tomcat9 を介して war パッケージを手動で展開する方法

Windows 環境と Linux 環境では結果が異なります。ウィンドウズステップ 1: Maven...

CentOS7におけるKVM仮想化の基本管理の詳しい説明

1. kvm仮想化をインストールする : : : : : : : : : : : : : : : :...

MySQLでorder byを使用せずにランキングを実装する3つの方法のまとめ

ビジネスを想定: 2位の従業員の給与情報を見るデータベースを作成する emps が存在する場合はデー...