MySQL报错:mysql报错1558-Column count of mysql.proc is wrong.Expected 21,found 20.Created with MariaDB 50

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

在Navicat中备份线上数据库和本地数据库的数据结构的时候,报以下错误:
mysql报错1558-Column count of mysql.proc is wrong.Expected 21,found 20.Created with MariaDB 50568,now running 100806.Please use mariadb -upgrade to fix this error

解释:

这个错误提示是在使用MySQL升级为MariaDB的过程中出现的,建议按照以下步骤进行操作:
1、在升级之前,先备份好数据库和相关的配置文件。
2、安装MariaDB,并确保版本号高于MySQL的版本号。
3、停止MySQL和MariaDB的服务。
4、执行命令:mariadb-upgrade
5、启动MariaDB服务。
6、验证MariaDB是否能够正常工作,以及数据库和表是否都可以访问。
如果在执行mariadb-upgrade命令时,出现了其他错误,可以根据错误提示进行调整。在升级过程中,需要特别注意备份数据和配置文件,以防止出现不可逆转的错误。

具体操作步骤:

这个错误是因为升级了MariaDB,但是MySQL的存储过程没有更新导致的。可以使用下面的步骤来解决:

1、以往万一先备份数据库表

(1)查看自己的数据库信息

1)如果不清楚自己的数据库有哪些可以先查看一下

#在cmd里直接输入一下代码
C:\Users\Lizzy>mysql -u root -p
#回车后在下方输入密码
Enter password:
#查看一下自己的数据库
mysql>show databases;
#回车显示如下
+--------------------+
| Database           |
+--------------------+
| aone               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
#关闭数据库
mysql> exit

经过查询知道要备份的数据库名称是aone,接下来进行备份操作

(2)可以整个数据进行备份

输入以下语句进行整个数据库的备份,会有点慢

C:\Users\Lizzy>mysql -uroot -p aone > D:/aone_bak.sql
Enter password: *******
(2)也可以单个表进行备份

1)打开cmd命令行工具,进入mysql的安装路径下的bin目录,例如:

C:\Program Files\MySQL\MySQL Server 8.0\bin

2)输入以下命令,使用mysqldump工具备份数据库中的对应表,比如:

mysqldump -u username -p -t mysql proc > mysql.proc.sql

其中,-u参数指定MySQL的用户名,-p参数表示需要输入密码,-t参数表示不导出数据表的创建语句,而是只导出数据。
3)输入MySQL的密码后,执行上述命令,将mysql.proc表备份到mysql.proc.sql文件中。
我们备份的操作到这里就可以备份好mysql.proc表了,如果想恢复的时候,可以执行以下语句

mysql -u username -p mysql < mysql.proc.sql

其中,-u参数指定MySQL的用户名,-p参数表示需要输入密码,mysql.proc.sql表示备份文件的名称。执行上述命令即可将备份的mysql.proc表数据恢复到MySQL数据库中。
注意:备份和恢复mysql.proc表需要具有MySQL数据库的管理员权限。

2、接下来我们删除原始表再重新创建一遍

1)进入mysql数据库:

mysql -u root -p

2)删除mysql.proc表:

DROP TABLE mysql.proc;

3)从备份的文件中重新创建mysql.proc表:

SOURCE /tmp/proc.sql;

4)执行以下命令更新存储过程:

mysql_upgrade -u root -p

5)重启MySQL服务:

service mysql restart

重要:mysql_upgrade请谨慎!一定要做好备份,做好备份,做好备份!

1558 - Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 50564, now 在使用MariaDB时,使用命令升级了MariaDB版本,在使用NavicatPremium导出数据库数据和结构的时候除了问题 1558 - Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 50564, now running 100412. Please use mysql_... 阅读详情

相关推荐

mysql.proc is wrong_解决警告:数据库错误Column count of mysql.proc is wrong.

事实上,如果你使用问题就因为你已升级MariaDB或升级MariaDBmysql_upgrade命令完成升级更新。之后,操作MySQL数据库过程中,可能将显示错误消息.警告: 数据库错误 Column count of mysql.proc is wrong. Expected 21, found 20. Created with MariaDB 50560, now running 10040...

weixin_35699301的博客 1642

使用Navicate导出sql出现Column count of mysql.proc is wrong. Expected 21, found 20的解决办法

Navicate导出sql出现Column count of mysql.proc is wrong. Expected 21, found 20的解决办法

qq_41831534的博客 383

General error: 1805 Column count of mysql.proc is wrong. Expected 21, found 20. The table is probabl

解决 mysql_upgrade -uroot -p --force

Quan的博客 888

MySQL新建存储过程出现:ERROR 1558 (HY000): Column count of mysql.proc is wrong. Expected 20, found 16. Create

我在MySQL版本:Ver 14.14 Distrib 5.1.61上创建存储过程是没有问题的,但是在版本:Ver 14.12 Distrib 5.0.26上面创建存储过程的时候就出现了上面的错误。甚至使用show procedure status 查看存储过程都会报上面的错误。 错误原因:  是由于你曾经升级过mysql,或用不同的MySQL版本进行备份迁移恢复。升级和迁移完后未使用

AKILLII的博客 1090

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

原文地址: http://space.itpub.net/758322/viewspace-716971 起因是原来mysql是5.0.47的,后来想用分区表,故整个库导出, 然后倒入5.1.51的环境中,但是在创建存储过程中出现如下错误: 1558 - Column count of mysql.proc is wrong. Expected 20, found 16   1

猫儿 1万+

mysql.proc is wrong_mysql 1558 - Column count of 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 161 :保险一点先dump或者冷备份...

weixin_29018815的博客 343

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

提示:虽然我是用的 Mariadb 数据库,但是此解决方案同样适用于 MySQL 数据库MariadbMySQL报错信息和解决方案是一模一样的。 今天在使用 Navicat 工具操作我的数据库时,想要转储SQL语句。不料遇见错误 完整错误如下: 1558 column count of mysql.proc is wrong.Expected37,found 20.created with mysql 50381,now running 100328.please use mysql_up.

江湖人称小程的博客 1037

mysql导出数据出错 1558 - Column count of mysql.proc is wrong

cd /opt/lampp/bin sudo ./mysql_upgrade -uroot -hlocalhost -ptest1111 --port 3308 执行结果: Phase 1/7: Checking and upgrading mysql database Processing databases mysql mysql.column_stats ...

fareast_mzh的博客 833

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

起因是原来mysql是5.0.47的,后来想用分区表,故整个库导出, 然后倒入5.1.51的环境中,但是在创建存储过程中出现如下错误: 1558 - Column count of mysql.proc is wrong...

cqhiabc50405的博客 416

mysql1558,MySQL报错ERROR 1558 (HY000): Column count of mysql.user is wrong.

MySQL报错ERROR 1558 (HY000): Column count of mysql.user is wrong.1.今天在使用MySQL创建数据库时出现如下报错mysql> CREATE USER 'dev'@'%' IDENTIFIED BY '';ERROR (HY000): Column count of mysql.user is wrong. Expected ,...

weixin_33173126的博客 830

mysql版本升级,原数据无法访问,mysql报错代码1558

原先mysql版本较低,有些功能无法使用,后来升级为了高版本,结果原有的数据无法访问,主要是存储过程、函数什么的打不开,日志中报错如下: ERROR 1558 (HY000) at line 146: Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50067, n...

weixin_34378969的博客 323

Column count of mysql.proc is wrong. Expected 20, found 16.解决方法

1558 - Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50018, now running 50146. Please use mysql_upgrade to fix this error. 今天58lianmeng服务器上出现了这个不起眼的错误。 其实这个错误如果用p

Qvip的专栏 1万+

mysql.proc 20 16_Column count of mysql.proc is wrong. Expected 20, found 16.解决方法

1558 - Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50018, now running 50146. Please use mysql_upgrade to fix this error.今天58lianmeng服务器上出现了这个不起眼的错误。其实这个错误如果用phpmyadm...

weixin_33281416的博客 198

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 161 :保险一点先dump或者冷备份:mysqldump -uroot -p111111 --quick --master-data=1 -...

weixin_42171208的博客 292

mysql遇见 column count of mysql.proc is wrong expected 20 found16

这个是数据库升级带来的问题,你可以执行mysql_upgrade --password(如果数据库有密码的话)去更新一下数据库

帆软爱好者的专栏 1566

Error Number : 1547 Error Message: Column count of mysql.proc is wrong. Expected 20, found 16. The

Executed SQL Statement : show function status where db='rc2p_members' and name = '' Error Number : 1547 Error Message: Column count of mysql.proc is wrong. Expected 20, found 16. The table is pro

hety119的专栏 1808

ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 42. Created with MySQL 5

在设置mysql数据库远程登录时碰到设置失败的情况,查找网上资料后记录一下 mysql> grant all privileges on *.* to root@'%'identified by '密码'; ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 42. Created with My

梦合九千的博客 9686
上一篇: 第4版-信息系统项目管理师十大知识域及ITTO
下一篇: 第4版-信息系统项目管理师ITTO思维导图
Lizzy_Fly
博客等级 码龄5年 262粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值