关于mysql版本升级后,原有的数据无法访问的解决方法,mysql错误代码:1558

来源:互联网 发布:python的for循环 编辑:程序博客网 时间:2024/05/17 10:40

 原来Mysql是低版本的,有好些功能不能使用,后来升级成高级的版本,但发现原有的数据库的数据不能够访问了,主要是存储过程,函数什么的都打不开,日志中打印出如下错误:ERROR 1558 (HY000) at line 146: Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50067, now running 50142. Please use mysql_upgrade to fix this error.

 

后来经查网上很多解决方法,但经我发现只有下面的方法是有效的。步骤如下:

1.切换到root用户。

2.#mysql_upgrade -h localhost -u admin -p`cat /etc/psa/.psa.shadow         ---执行即可修复

 

其中localhost经发现必须要写IP。也许是因为我用的是虚拟机的缘故吧。