innodb腐败表

使用Mysql 5.5运行共享主机cpanel框。

恢复或打包(使用pkgacct)会给多个不同的用户带来一些严重的数据库错误

sum_joom954.jos_wf_profiles OK warn [pkgacct] sum_joom954: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'sum_joom954'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] sum_joom954: mysqldump failed -- database may be corrupt (774188 bytes) warn [pkgacct] Failed to dump database sum_joom954 horde.turba_objectswarn [pkgacct] horde.turba_objects: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) horde.turba_objects OK warn [pkgacct] horde.turba_objects: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (2761 bytes) warn [pkgacct] Failed to dump database horde horde.turba_shareswarn [pkgacct] horde.turba_shares: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) horde.turba_shares OK warn [pkgacct] horde.turba_shares: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (1440 bytes) warn [pkgacct] Failed to dump database horde horde.horde_prefswarn [pkgacct] horde.horde_prefs: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) horde.horde_prefs OK warn [pkgacct] horde.horde_prefs: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (10240 bytes) warn [pkgacct] Failed to dump database horde horde.kronolith_eventswarn [pkgacct] horde.kronolith_events: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) horde.kronolith_events OK warn [pkgacct] horde.kronolith_events: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (1145 bytes) warn [pkgacct] Failed to dump database horde horde.kronolith_shareswarn [pkgacct] horde.kronolith_shares: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) ......... horde.kronolith_shares OK warn [pkgacct] horde.kronolith_shares: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (1557 bytes) warn [pkgacct] Failed to dump database horde horde.kronolith_shares_userswarn [pkgacct] horde.kronolith_shares_users: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) horde.kronolith_shares_users OK warn [pkgacct] horde.kronolith_shares_users: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (1107 bytes) warn [pkgacct] Failed to dump database horde horde.kronolith_storagewarn [pkgacct] horde.kronolith_storage: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) horde.kronolith_storage OK warn [pkgacct] horde.kronolith_storage: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (1123 bytes) warn [pkgacct] Failed to dump database horde horde.mnemo_memoswarn [pkgacct] horde.mnemo_memos: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) horde.mnemo_memos OK warn [pkgacct] horde.mnemo_memos: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (1101 bytes) warn [pkgacct] Failed to dump database horde horde.nag_taskswarn [pkgacct] horde.nag_tasks: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) horde.nag_tasks OK warn [pkgacct] horde.nag_tasks: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'horde'': Cannot load from mysql.proc. The table is probably corrupted (1548) warn [pkgacct] horde: mysqldump failed -- database may be corrupt (1093 bytes) warn [pkgacct] Failed to dump database horde ERROR: Failed to dump one or more databases 

cPanel科技告诉我:

 It looks like a major problem with MySQL right now is that InnoDB is corrupt and was set as disabled, although several databases are using that storage engine. Have you attempted InnoDB recovery on this server? Due to policy and liability issues, we won't be able to assist with forcing InnoDB recovery. However, the following link should be able to assist you: http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html The file that will need to be edited is /etc/my.cnf 

有人可以请外行解释我如何去修理这些? 我不知道如何愚蠢的数据库。 我需要先知道哪些数据库/表有这个问题。 我体面的ssh,所以我可以一步一步理解。

首先停止数据库并备份所有的mysql文件(/ var / lib / mysql)。 其次启动服务器在控制台上运行

  mysql_upgrade 

如果说已经升级再次用强制标志运行

  mysql_upgrade -f