首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误1805 (HY000):mysql.user的列计数错误。预期为45,发现为48。该表可能已损坏

问错误1805 (HY000):mysql.user的列计数错误。预期为45,发现为48。该表可能已损坏
EN

Stack Overflow用户
提问于 2017-10-14 19:55:09
回答 3查看 14.7K关注 0票数 7

我有一个mysql问题,如下所示:

代码语言:javascript
复制
mysql> SELECT User FROM mysql.user;
+------+
| User |
+------+
| root |
| root |
|      |
| root |
|      |
| root |
+------+
6 rows in set (0.00 sec)

mysql> CREATE USER 'dummy'@'localhost';
ERROR 1805 (HY000): Column count of mysql.user is wrong. 
Expected 45, found 48. The table is probably corrupted

有没有人遇到这个问题?谢谢

EN

回答 3

Stack Overflow用户

发布于 2018-06-19 14:51:21

使用以下脚本:

代码语言:javascript
复制
alter table user drop column is_role;
alter table user drop column default_role;
alter table user drop column max_statement_time;
alter table user modify max_user_connections int(11) unsigned NOT NULL DEFAULT '0';
flush privileges;

图片来源:https://www.percona.com/forums/questions-discussions/mysql-and-percona-server/48583-column-count-of-mysql-user-is-wrong-expected-45-found-48

票数 13
EN

Stack Overflow用户

发布于 2017-11-23 19:55:23

代码语言:javascript
复制
mysql_upgrade -u root -p

然后重新启动数据库。

请参阅:https://nixcp.com/error-1805-hy000-column-count-of-mysql-user-is-wrong/

该博客写道:

错误1805 (HY000):mysql.user的列计数错误。表可能已损坏错误可以通过运行一个简单的mysql_upgrade命令来修复。mysql_upgrade工具经常用于检查当前mysql版本上运行的MySQL表不兼容(崩溃或损坏的表)。如果需要,它还可以用于升级mysql表。在本例中,我们将使用它来修复任何损坏的表。

票数 12
EN

Stack Overflow用户

发布于 2020-10-20 23:00:11

对我来说,这个问题是在我从PHP5升级到PHP7之后发生的。我需要进入PHP.ini (xampp/php/php.ini)并取消对以下行的注释:

代码语言:javascript
复制
extension=mysqli

重新启动xampp,然后就可以运行了!

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

https://stackoverflow.com/questions/46744259

复制
相关文章

相似问题

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