mysql.procがクラッシュし続けますが、mysqldumpを実行できませんか?


9

InnoDBのいくつかの問題のため、すべてのデータベースを新しいサーバーにダンプします。

mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server          

ダンププロセスはエラーで停止しました:

59.9kB assword: 59.9kB 
ERROR 145 (HY000) at line 2970: Table './mysql/proc' is marked as crashed and should 
    be repaired
 228MB 
mysqldump: Got errno 32 on write

次のコマンドを実行して、すべてのデータベースのすべてのテーブルを修復しました。

mysqlcheck --auto-repair --all-databases

mysql.procステータスを調べると、次のことがわかります。

mysql> check table mysql.proc;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| mysql.proc | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set (0.02 sec)

ただし、mysqldumpコマンドを再実行しても同じエラーが発生します。

約2000のストアプロシージャがあります。それがエラーの理由ですか?


2
目的地も修理しましたか?
Philᵀᴹ

なに59.9kB assword: 59.9kB?それは実際にエラーメッセージの一部ですか?
Max Vernon

@quanta行われ...
Philᵀᴹ

@MaxVernon:pv宛先ホストでパスワードを入力する前に経由するデータパイピングの一部です。
クォンタム

回答:


3

このエラー:

2970行目のエラー145(HY000):テーブル './mysql/proc'はクラッシュしているとマークされており、修復する必要があります228MB mysqldump:書き込み時にerrno 32を取得しました

...は、問題が読み取りではなく書き込みであることを示唆しているため、宛先データベースを修復します。


8

私は同じ問題を抱えていましたが、mysqlデータディレクトリが/ var / lib / mysql / mysqlにあると想定してコマンドを発行することで修正されました

myisamchk -q -r / var / lib / mysql / mysql / proc

ソース:http : //dev.mysql.com/doc/refman/5.0/en/myisam-repair.html


受け入れられた答えはすでにこれを行うように言っていますが、実際にその方法を示しました。+1 !!!
RolandoMySQLDBA 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.