web-dev-qa-db-ja.com

mysql.procが破損しています。どうすれば修正できますか?

Debian5.0とMySQLを実行しているサーバーがあります。突然、MySQLが機能しなくなり、何度も修正を試みた後、再インストールすることにしました。 MySQL 5.1.63をインストールしましたが、起動するとセーフモードになります。入力を行ったところ、rootとしてmysql_upgradeを実行すると、次のように文句が出ました。

...
Running 'mysql_fix_privilege_tables'...
ERROR 1548 (HY000) at line 1111: Cannot load from mysql.proc. The table is probably corrupted
ERROR 1064 (42000) at line 1112: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sqlstate 'HY000' set message_text='Unexpected content found in the performance_s' at line 1
ERROR 1548 (HY000) at line 1125: Cannot load from mysql.proc. The table is probably corrupted
FATAL ERROR: Upgrade failed

mysql.procテーブルを確認しましたが、comment列がバックアップと少し異なっていました。

-- My backup says:
`comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
-- But it were:
`comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

それで、私はmysqlデータベースのバックアップを復元しました、そして今それらはすべて一致します、しかしmysql_upgradeはまだ同じエラーを引き起こします。また、mysql.procテーブルをチェックして修復しようとしましたが、成功しませんでした。

2
Metalcoder

--forceオプションを使用しようとしましたか?

mysql_upgrade --force -u root -p
1
quanta