GNU/Linux >> Linux の 問題 >  >> Linux

データベースに破損がないか確認してください

この記事では、MySQL®の破損についてデータベースをチェックする方法について説明します。データベースで破損が発生するのはなぜですか?ハードウェア、特にディスクベースの障害が原因で、またはディスクがいっぱいになったときに発生する可能性があります。

症状

主な症状:ログインしようとすると、コンソールにエラーメッセージが表示されます:セッションの置換:テーブル「./DB_NAME/mdl_sessions2」はクラッシュとマークされているため、修復する必要があります

ソリューション

mysqlcheckを使用して、この問題を確認および修復できます。 --auto-repair DBNAMEを使用したコマンド 国旗。 --auto-repairを追加する場合 フラグ、MySQLはデータベースの破損を修復しようとします。

# mysqlcheck -u USER_NAME -p --auto-repair DB_NAME
Enter password:
db_test.adodb_logsql                      OK
db_test.mdl_assignment                    OK
db_test.mdl_assignment_submissions        OK
...
db_test.mdl_log
error    : Table './db_test/mdl_log' is marked as crashed and should be repaired
...
db_test.mdl_sessions2
error    : Table './db_test/mdl_sessions2' is marked as crashed and should be repaired

Repairing tables
db_test_18_latest.mdl_log                           OK
db_test_18_latest.mdl_sessions2                     OK

データベースが破損しているかどうかを確認したいだけの場合は、次のコマンドを実行します。

# mysqlcheck -c DATABASE_NAME  -u USER_NAME -p

サーバー内のすべてのデータベースとテーブルをチェックする場合は、フラグ--all-databasesを追加します。 次のコマンドに示すように、データベースの名前を省略します。

# mysqlcheck -c -u USER_NAME -p --all-databases

データベース内のテーブルをチェックするだけの場合は、次のコマンドを実行します。

# mysqlcheck -a DB_NAME TABLE_NAME -u USER_NAME -p
結論

この記事で紹介するコマンドを使用して、MySQLデータベースまたはテーブルの破損を確認できます。


Linux
  1. IP の有効性を確認する

  2. データベース バックアップ用の Linux シェル スクリプト

  3. fsck:最も徹底的なディスク チェックのオプション

  1. MySQLサーバーの5つの最高の無料代替品

  2. 同じが実行されている場合はプロセスを確認しますか?

  3. ファイルをチェックするための1つのライナーが存在しますか?

  1. コンソールで大きなファイルをチェックする方法

  2. 共有ホスティング用にKokenを設定する

  3. Linux構成ファイルで構文エラーを確認してください