我的系统是CentOS6.9,默认yum安装mysql是5.1版本,由于业务需要,需要将mysql版本升至5.5,升级地址请参考:https://blog.csdn.net/weixin_33709609/article/details/92677387(转载的,如有侵犯作者权利,请联系我删除)。
升级后发现导入sql报错,错误为:cannot load from mysql.proc
网上搜索查找原因,大部分给的答案都是:
1、执行mysql_upgrade -u root -p 密码 命令
2、修改/etc/mysql/my.cnf配置
经过上面两步操作,发现没用。
没办法通过google重新搜索,终于找到答案,原因如下:
mysql.proc升级时有个字段没有升级成功,在5.1中mysql.proc表的comment字段是varchar(64),但在5.5中应该是text,如下:
`comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ''
`comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
解决方法:
1、通过命令进入mysql的默认数据库mysql(这个就不贴命令了)
2、执行一下sql:
ALTER TABLE `proc` MODIFY COLUMN `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL AFTER `sql_mode`;
3、如果还是不行,请重启一下数据库,即可