我在MySQL版本:Ver 14.14 Distrib 5.1.61上创建存储过程是没有问题的,但是在版本:Ver 14.12 Distrib 5.0.26上面创建存储过程的时候就出现了上面的错误。甚至使用show procedure status 查看存储过程都会报上面的错误。

错误原因:
是由于你曾经升级过MySQL,或用不同的MySQL版本进行备份迁移恢复。升级和迁移完后未使用mysql_upgrade升级数据结构造成的。

mysql.proc:
是MySQL的系统表,用来记录存储过程或函数的信息。使用desc mysql.proc 查看上面不同版本的MySQL的mysql.proc,果然出错的MySQL的mysql.proc只有16列。

解决办法:
使用命令:mysql_upgrade -u[username] -p[password]就可以解决。

查找MySQL的安装目录找到mysql_upgrade :
mysql_upgrade在MySQL的安装目录的bin中。可以使用如下命令查找MySQL的安装目录:ps -ef|grep -w mysql,我获取的结果如下:

/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --log-error=/usr/local/mysql/data/Tencent_IM.err --pid-file=/usr/local/mysql/data/Tencent_IM.pid --socket=/tmp/mysql.sock --port=3306

/usr/local/mysql 是指:mysql的安装路径。
/usr/local/mysql/bin 是指:mysql的运行程序存放路径,其中就包括 mysql_upgrade。
/usr/local/mysql/data 是指:mysql数据库文件的存放路径。

注意事项:
使用mysql_upgrade 对数据库的数据表结构等升级时,数据库引擎MyISAM 会做检查、修复的动作,InnoDB 执行 mysql_upgrade 没有作用。


参考文献

[1]Column count of mysql.proc is wrong. Expected 20, found 16

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

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

    设置mysql远程访问报错 ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Create ...

  2. mysql1085报错:ERROR 1805 (HY000): Column count of mysql.user is wrong. Expected 45, found 46. The tabl

    文章目录 前言 一:现象 二:分析原因 三:解决 经过查阅资料,尝试通过升级的方式解决 如有疑问可评论区交流! 前言 一:现象 在修改用户的时候发现报错:ERROR 1805 (HY000): Col ...

  3. mysql1558错误,mysql删除用户错误ERROR 1558解决办法

    1.错误提示 ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 42. Created with ...

  4. 修改xampp中的mysql的密码报错,ERROR 1348 (HY000): Column 'Password' is not updatable

    xampp中的mysql(MariaDB)默认密码为空,进入mysql的bin目录,输入mysql -u root -p,回车,无密码登录: 查看所有数据库,选择mysql数据库: show data ...

  5. MYSQL导出数据报错ERROR 1290 (HY000) 和 ERROR 1 (HY000)

    问题1.ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot ...

  6. mariadb无法update修改root密码ERROR 1348 (HY000): Column 'Password' is not updatable

    https://www.techgalery.com/2019/09/error-1348-column-password-is-not.html 如本博客标题所述,当我们尝试更新root密码数据库( ...

  7. MySQL_解决ERROR 2006 (HY000) at line XX MySQL server has gone away问题

    MySQL_解决ERROR 2006 (HY000) at line XX MySQL server has gone away问题 参考文章: (1)MySQL_解决ERROR 2006 (HY00 ...

  8. Mysql添加用户错误:ERROR 1364 (HY000): Field ‘ssl_cipher‘ doesn‘t have a default value解决方法

    Mysql添加用户错误:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value解决方法 参考文章: (1)Mysql添加 ...

  9. mysql导入数据报错ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it

    参考:https://blog.csdn.net/u011677147/article/details/64129606 参考:http://blog.itpub.net/31015730/views ...

最新文章

  1. VmWare 与 宿主主机通信 STEP BY STEP (适用于刚開始学习的人)
  2. 分支管理---创建与合并分支
  3. bg感_【0328】BG推文 | 5本我在逃生游戏里养娃娃+岁月缱绻已无你+关于我比女主苏这回事+消失的白月光又回来了等...
  4. pb11 打印 自定义纸张_pb自定义纸张(连续走纸)
  5. 数据科学与计算机学院张治国,张治国(河海大学机电工程学院副教授)_百度百科...
  6. 有关JAVA中不同方法对String连接性能的总结
  7. 【编程珠玑】第四章 编写正确的程序
  8. JAVA——利用wait和notify实现生产者和消费者
  9. 安装apk报错INSTALL_FAILED_UPDATE_INCOMPATIBLE的解决方法
  10. AT指令:常见的AT命令
  11. Nginx源码阅读 --- nginx evnet事件接受请求时,函数执行过程
  12. python精妙算法_YOLOv4:高速物体检测的精妙之处
  13. Win10下 Java环境变量配置
  14. mediatek无线usb网卡驱动 linux,Ralink雷凌USB无线网卡驱动5.1.7.0版 Ralink雷凌USB无线网卡驱动5.1.7.0版 无线网卡驱动 雷凌...
  15. C++类的构造函数及操作符()重载
  16. 你离运营只差一个打卡签到功能 早晚安打卡 小来早晚安打卡 功能一样 是一个唯一用户主动去分享的功能
  17. python 全栈开发,Day128(创建二维码,扫码,创建玩具的基本属性)
  18. 开鑫金服落实“同心圆”工程 为老年投资人保驾护航
  19. python求素数积_python求质数的3种方法
  20. 老男孩教育Linux运维培训32期决心书

热门文章

  1. Linux开源系统OpenWrt被曝RCE 漏洞已存在3年,数百万网络设备受影响
  2. Intel 警告注意 CSME 引擎中的严重漏洞,发布产品停产通知
  3. Sudo bug 可导致非权限 Linux 和 MacOS 用户以根身份运行命令
  4. SP913 QTREE2 - Query on a tree II
  5. 树莓派 4G模块 PPP 拨号 NDIS 拨号
  6. SQL 批量修改订单号
  7. Qt Model/View/Delegate浅谈 - QAbstractListModel
  8. java调用Dos命令
  9. MVC3.0与C#截取字符串
  10. 展示魅力东莞,传递亚运激情