Mariadb 在 Navicat 中转储SQL文件出错:Column count of mysql.proc is wrong...

提示:虽然我是用的 Mariadb 数据库,但是此解决方案同样适用于 MySQL 数据库。 Mariadb 和 MySQL
的报错信息和解决方案是一模一样的。

今天在使用 Navicat 工具操作我的数据库时,想要转储SQL语句。不料遇见错误
完整错误如下:

1558 column count of mysql.proc is wrong.Expected37,found 20.created with mysql 50381,now running 100328.please use mysql_upgrade to fix this error。

根据提示使用 mysql_upgrade 命令升级数据库,无奈服务器没有这个命令。后来经过折腾,发现此命令在 mariadb-server-utils 包中。

安装完之后使用命令升级(MySQL也是用这个命令):

mysql_upgrade -uroot -p

然后输入密码,看到控制台输出类似信息即升级成功:

Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.event                                        OK
mysql.func                                         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.proxies_priv                                 OK
mysql.servers                                      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
Upgrading from a version before MariaDB-10.1
Phase 2/7: Installing used storage engines
Checking for tables with unknown storage engine
Phase 3/7: Fixing views
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
Processing databases
information_schema
performance_schema
test
TestDB
TestDB.users                                       OK 
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK

再去转储SQL文件…成功!


技 术 无 他, 唯 有 熟 尔。
知 其 然, 也 知 其 所 以 然。
踏 实 一 些, 不 要 着 急, 你 想 要 的 岁 月 都 会 给 你。


你可能感兴趣的:(MySQL,Linux)