我是靠谱客的博主 殷勤未来,最近开发中收集的这篇文章主要介绍mysql.proc is wrong_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]#

最后

以上就是殷勤未来为你收集整理的mysql.proc is wrong_mysql 1558 - Column count of mysql.proc is wrong 的解决的全部内容,希望文章能够帮你解决mysql.proc is wrong_mysql 1558 - Column count of mysql.proc is wrong 的解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部