错误代码 1558 mysql.proc 的列数错误

Posted

技术标签:

【中文标题】错误代码 1558 mysql.proc 的列数错误【英文标题】:error code 1558 column count of mysql.proc is wrong 【发布时间】:2021-03-21 20:58:52 【问题描述】:

我的问题是以下错误代码: 错误代码1558 mysql.proc的列数错误

它在 Sql 工作台中出现“无法获取表”,“奇怪”的是,上传表等正在工作,当我连接到数据库时,我可以看到它们,但它无法获取表。同样在 myphpadmin 上一切正常。 我已经阅读了多个帖子,但没有一个有效, 有人说进入终端执行 XXX 命令,但如果你使用它们,它总是说找不到这个命令。

在 Sql Workbench 中,我有 SQL 版本 5.7.21 默认 Sql 版本,而我的 MariaDB 服务器版本是 10.4.14-MariaDB。 (XAMPP)

有什么想法吗?

【问题讨论】:

检查mysql.proc 表结构,将其与documentation 中显示的进行比较 - 可能已损坏。 PS。这是 MariaDB 特定的系统表。 请edit您的问题向我们展示失败的代码。 【参考方案1】:

这通常是由数据库服务器版本二进制升级引起的,之后没有运行 mysql_upgrade 工具以将必要的版本相关更改应用于系统表。

运行 mysql_upgrade 后,此错误不应再出现

【讨论】:

我尝试在我的 Mac OS 终端中运行 my_sql 升级,但它不知道该命令 - 还是我必须在其他地方运行它?我是数据库(学校)的新手,我的老师不知道如何修复它,因为它只会出现在我的 Mac 书上,而不是其他学生的笔记本电脑(Windows)上 mysql_upgrade 应该与 mysql 命令行客户端在同一个文件夹中(除非 mac 上的东西与 linux 和 windows 上的不同,我手头没有要测试的东西)原文,你写了“在Sql Workbench中我有SQL版本5.7.21默认Sql版本,我的MariaDB服务器版本是10.4.14-MariaDB。(XAMPP)”其他同学也有10.4.14吗,在哪里5.7.21版本从何而来?如果在 MariaDB 10.4.14 上恢复 MySQL 5.7.21 完整备份,这也会导致此类错误(但仍将由 mysql_upgrade 修复) 能否提供SHOW CREATE TABLE mysql.proc的输出

以上是关于错误代码 1558 mysql.proc 的列数错误的主要内容,如果未能解决你的问题,请参考以下文章

休眠:外键的列数错误

AnnotationException:外键引用的列数错误。应该是 2

第 1 行的 CSV 输入中的列数无效错误

FluentNHibernate 异常:复合用户类型上的“属性映射的列数错误”

第 1 行错误的 CSV 输入中的列数无效(已检查其他问题)

例外:尽管范围是从数据创建的,但数据中的列数与范围中的列数不匹配