テーブルがクラッシュする場合は、システムに問題があることを意味します。
MySQL said:
#1194 - Table 'tablename' is marked as crashed and should be repaired
このため、私のウェブサイトは現在ダウンしています。
私はphpmyadminからテーブルを修復する方法を知っていますが、それを修復する安全な方法はありますか?
この問題の重要な要素は何ですか?
質問。一般に、なぜテーブルがクラッシュするのですか?
答え。これらは理由かもしれません-
サーバーのディスク領域がいっぱいでした。 (ライブサーバーのディスク容量を確認してください)
MySQLサーバーの誤ったシャットダウン/データベースの使用中にテーブルを不適切に閉じる。
より多くのサーバー負荷。
まず第一に-クラッシュしたテーブルには多くの理由があります。
Phpmyadminによる修復は、基本的にはmysqlrepairコマンドラインと同じです。コマンドラインですべてを修復することをお勧めします:
mysqlrepair -A --auto-repair
mysqlrepair -A -o
またはテストを開始します。
mysqlrepair -A -c
コマンドラインツールが必要なく、クラッシュの原因がMYSQL自体である可能性が高い場合は、これをMYSQLから実行してテーブルを修復します。
REPAIR TABLE db_name.table_name;
はい、phpmyadminからテーブルを修復できます。データに影響はありません。また、「myisamchk」コマンドを使用してシェルからテーブルを修復することもできます。
使用する:
mysqlcheck -u root -p --auto-repair --check --all-databases
(Password prompted)
ユーザーrootのMySQLパスワードを入力すると、すべてが完了します。
私はこれをコマンドラインから使用します:
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
サーバーにsshアクセスできる場合は、ログインして実行できます。
df -h
そしてあなたはこのようなものを見ることができました:
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/xxxx 19G 825M 18G 5% /
/dev/cciss/xxxx 9.4G 4.8G 4.2G 54% /usr
/dev/cciss/xxxx 15G 1.8G 12G 13% /var
/dev/cciss/xxxx 19G 18G 0G 0% /opt
/dev/cciss/xxxx 4.7G 243M 4.3G 6% /tmp
/dev/cciss/xxxx 9.4G 1.5G 7.5G 17% /home
それは/opt
にインストールされたLAMPです。空きディスク容量を確保した後、クエリを実行できます(上記のとおり)。
Repair table db.mytablecrashed
そして、あなたは最後の行に入ります:
Table OP Msg_type Msg_text
...
db.mytablecrashed repair status OK