在对数据库进行备份的时候出现这样的报错,如下
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命令即可