在对数据库进行备份的时候出现这样的报错,如下

mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'abc'': Cannot load from mysql.proc. The table is probably corrupted (1548)


备份语句为:

mysqldump -uadmin -pyh3yxyZ -h10.28.67.106 -P3306 --skip-opt --create-options --single-transaction -R --events --triggers --disable-keys -q -e -c --default-character-set=utf8 --master-data=2 -B abc


因为备份是用的备份专用帐号,初看感觉像是当前备份的用户不能查询mysql.proc表,以为是权限问题,但是换成root用户备份的时候还是报同样的错误。


登陆数据库,

>SHOW FUNCTION STATUS WHERE Db = 'abc';

ERROR 1548 (HY000): Cannot load from mysql.proc. The table is probably corrupted


在网上搜索后发现是数据库从5.1升级到5.5的常见问题,只需要执行

mysql_upgrade命令即可



本文转自 emma_cql 51CTO博客,原文链接:http://blog.51cto.com/chenql/1731680