首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql.user的列计数是错误的。预期42,发现44。该表可能已损坏。

mysql.user的列计数是错误的。预期42,发现44。该表可能已损坏。
EN

Stack Overflow用户
提问于 2017-05-08 11:52:43
回答 15查看 104.4K关注 0票数 57

目前我正在使用ISPConfig 3的最新版本,今天我想添加一个db和用户。它没有起作用。然后我在PHPmyadmin上试了一下,结果没成功。

当我试图在PHPMyadmin用户面板中添加一个用户时,我收到了以下错误消息:

您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行使用“* to‘test”@’localhost‘的正确语法。

来自/var/log/mysql/error.log的输出:

mysql.user的错误列计数是错误的。预期42,发现44。该表可能已损坏。

Mysql版本:5.5.55-0+deb8u2 8u1 PHPMyadmin版本: 4:4.2.12-2+deb8u2 8u 2

Debian Linux 8

EN

回答 15

Stack Overflow用户

发布于 2017-08-01 09:57:05

当我在Debian 8 (jessie)中将mysql服务器从5.5更新到5.7时,我也遇到了同样的问题。在少数情况下,如果直接绕过版本序列进行更新,则可能会发生这种情况。(很多人都这么做,但这种升级并没有得到官方支持)。在我的例子中,当我执行以下命令时,它工作得很好:

代码语言:javascript
复制
mysql_upgrade --force -uroot -p

我希望这能帮到你

票数 126
EN

Stack Overflow用户

发布于 2018-03-21 19:16:01

从mariadb 10迁移到mysql 5.6也遇到了类似的问题。我收到的错误消息,与页面上列出的其他错误消息略有不同.当然,这意味着它需要一个不同的解决方案。在试图修改用户记录时,我收到以下错误:

mysql.user的列计数是错误的。预期43,发现46。该表可能已损坏。

上面的一些建议帮助解决了问题。在查看了类似的服务器(MySQL5.6)之后,我比较了两个“损坏”用户表(来自mariadb 10 mysql.users表)和另一个MySQL5.6 mysql.users表中的“Functional性”用户表中的字段。

我使用mysql删除了三个有问题的字段&以下命令:

代码语言:javascript
复制
mysql -u root -p
use mysql;
alter table mysql.user drop column default_role;
alter table mysql.user drop column max_statement_time;
alter table mysql.user drop column password_expired;
quit

问题解决了!

票数 30
EN

Stack Overflow用户

发布于 2018-06-04 12:51:09

这对我起了作用:

代码语言:javascript
复制
mysql_upgrade -uroot -p

并添加密码根目录

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43846950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档