Error: Cannot load from mysql.proc. The table is probably corrupted
MySQL Workbenchで既存のDBからリバースエンジニアリングして、
テーブルの列の型とかを変更してから変更を反映させようとしたら
「Error: Cannot load from mysql.proc. The table is probably corrupted」
というエラーが発生した。
以下のサイトを参考にして対応。
MySQL Workbench cannot load mysql.proc
http://stackoverflow.com/questions/6789373/mysql-workbench-cannot-load-mysql-proc
# mysql_upgrade -u root -p Enter password: Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Running 'mysqlcheck with default connection arguments Running 'mysqlcheck with default connection arguments fuel_auth.admins OK fuel_auth.migration OK fuel_auth.users OK mysql.columns_priv OK mysql.db OK mysql.event OK mysql.func OK mysql.general_log OK mysql.help_category OK mysql.help_keyword OK mysql.help_relation OK mysql.help_topic OK mysql.host OK mysql.ndb_binlog_index OK mysql.plugin OK mysql.proc OK mysql.procs_priv OK mysql.servers OK mysql.slow_log OK mysql.tables_priv OK mysql.time_zone OK mysql.time_zone_leap_second OK mysql.time_zone_name OK mysql.time_zone_transition OK mysql.time_zone_transition_type OK mysql.user OK Running 'mysql_fix_privilege_tables'... OK
こんな感じで動いた。
その後Workbenchで再度反映を行ったら無事に反映された。
mysql_upgrade
http://blog.pdns.jp/mysql_upgrade/
ついでに上記のサイトにあるgrantで怒られていたのも直った。
MySQLでDB移行する時はmysql_upgradeを行おう
http://www.seeds-std.co.jp/seedsblog/269.html
rootユーザがおかしいと思ってたけど
バージョンの違いによるカラムの変化の問題だったとは。。