Cannot load from mysql.proc.The table is probably corrupted

mysql5.5.jpg


文章目录


上次推荐了数据库管理工具 DataGrip
今天在连接线上一个数据库的时候,直接报错.

"Cannot load from mysql.proc.The table is probably corrupted"

之前在使用 Navicat 连接数据库时并没有发现此问题.


此问题产生的原因:

LINUX下将mysql从5.1升级至5.5后,存储过程不能用了.

mysql.proc升级时有个字段没有升级成功.

在5.1中mysql.proc表的comment字段是varchar(64):

但在5.5中应该是text:
comment text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

所以我们可以通过一句 mysql 语句来更新此字段类型.

mysql -u root -p

输入 root 密码进入数据库管理控制台后, 选择 mysql 数据库.

use mysql

输入下面语句:

ALTER TABLE `proc`MODIFY COLUMN `comment`  text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL AFTER `sql_mode`;

mysql.png

执行成功后,使用 DataGrip 连接数据库再没有报此错误了.

出自:Cannot load from mysql.proc.The table is probably corrupted

回到顶部