帮助中心 >  技术知识库 >  数据库 >  相关技术支持 >  mysql 1558 - Column count of mysql.proc is wrong 的解决

mysql 1558 - Column count of mysql.proc is wrong 的解决

2016-11-25 17:18:15 11300

 mysql 1558 - Column count of mysql.proc is wrong 的解决


起因是原来mysql是5.0.47的,后来想用分区表,故整个库导出,


然后倒入5.1.51的环境中,但是在创建存储过程中出现如下错误:


1558 - Column count of MySQL.proc is wrong. Expected 20, found 16


 


1 :保险一点先dump或者冷备份:



mysqldump -uroot -p111111 --quick --master-data=1 --all-databases --flush-logs --lock-tables >


 


2解决办法:


使用命令:mysql_upgrade就可以解决


 


mysql_upgrade -u root --datadir=/var/lib/mysql/ --basedir=/ --password=123456


 


下面是操作的过程:


[root@db lib]# mysql_upgrade -u root -p111111 -hdb --datadir=/var/lib/mysql/ --basedir=/


mysql_upgrade: the '--datadir' option is always ignored


mysql_upgrade: the '--basedir' option is always ignored


Looking for 'mysql' as: mysql


Looking for 'mysqlcheck' as: mysqlcheck


Running 'mysqlcheck' with connection arguments: '--host=db'


Running 'mysqlcheck' with connection arguments: '--host=db'


mysql.columns_priv                                OK


mysql.db                                          OK


mysql.event                                       OK


mysql.func                                        OK


mysql.general_log


Error   : You can't use locks with log tables.


status  : OK


mysql.help_category                               OK


mysql.help_keyword                                OK


mysql.help_relation                               OK


mysql.help_topic                                  OK


mysql.host                                        OK


mysql.ndb_binlog_index                            OK


mysql.plugin                                      OK


mysql.proc                                        OK


mysql.procs_priv                                  OK


mysql.servers                                     OK


mysql.slow_log


Error   : You can't use locks with log tables.


status  : OK


mysql.student                                     OK


mysql.t1                                          OK


mysql.t2                                          OK


mysql.tables_priv                                 OK


mysql.time_zone                                   OK


mysql.time_zone_leap_second                       OK


mysql.time_zone_name                              OK


mysql.time_zone_transition                        OK


mysql.time_zone_transition_type                   OK


mysql.user                                        OK


................................................


test.newuser                                      OK


test.usertag                                      OK


Running 'mysql_fix_privilege_tables'...


WARNING: NULL values of the 'character_set_client' column ('mysql.proc' table) have been updated with a default value (latin1). Please verify if necessary.


WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (latin1_swedish_ci). Please verify if necessary.


WARNING: NULL values of the 'db_collation' column ('mysql.proc' table) have been updated with default values. Please verify if necessary.


OK


[root@db lib]#


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: