這幾天在測試 MySQL,從 5.1 升級到 5.5.49 之後執行 mysqldump 出現錯誤訊息
ERROR 1548 (Test) at line 5: Cannot load from mysql.proc. The table is probably corrupted
訊息中告知無法讀取 mysql.proc,進到 Client 端 select mysql.proc 也是一樣的狀況
MySQL 官方的解釋是升級 MySQL 版本有可能造成 “資料表” 與 MySQL版本不相容,並且建議在每次升級 MySQL 後都應該執行 mysql_upgrade 進行升級確認
使用 mysql_upgrade 修復
$ mysql_upgrade -p
mysqlcheck 確認目前所有資料庫和表是否正常
$ mysqlcheck --all-databases -p mysql.columns_priv OK mysql.db OK mysql.event OK ... ...
Reference:
mysql_upgrade — Check Tables for MySQL Upgrade
mysqlcheck — A Table Maintenance Program