【错误过程】:MySQL从5.1升级至5.5后在调用存储过程时报出“1728 Cannot load from mysql.proc. The table is probably corrupted。”错误
【造成原因】:MySQL升级完成后未对相关数据库执行升级.
【解决办法】:
1、连接Linux服务器数据库方法一:
a、在本地电脑上,使用快捷键 window+R ,调出运行对话框,输入cmd,运行端口
b、在命令行中输入命令:MySQL -h+Linux服务器主机IP -u+账户名,一般用底层root账户 -p+root账户的密码(例如我的:MySQL -h192.168.11.224 -uroot -ppassword)
2、连接Linux服务器数据库方法二:
使用第三方连接软件,连接到Linux服务器上(我用的是Xshell6),连接上服务器后,使用命令:MySQL -uroot -p+账户密码 ,
登录数据库。
3、使用命令语句,修改1728错误:
mysql_upgrade -uroot -p
使用后,无法执行。此方法对我没有用处
3、更换思路
使用命令语句,将mysql.proc表的comment字段属性varchar(64)更改为text::
ALTER TABLE `proc`
MODIFY COLUMN `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL AFTER `sql_mode`;
4、测试:使用Navicat for MySql 工具远程连接数据库。对数据进行 转储SQL文件 的操作,弹出保存位置对话框,说明修改成功