在對資料庫進行備份的時候出現這樣的報錯,如下
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