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 2012年

@quanta做...
Philᵀᴹ

@MaxVernon:这是pv在目标主机上输入密码之前通过的一条数据管道。
量子

Answers:


3

这个错误:

第2970行的错误145(HY000):表'./mysql/proc'被标记为崩溃,应该修复228MB mysqldump:写时得到errno 32

...表明问题出在写而不是读,所以在目标数据库上进行了修复。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.