error 1805(hy000):mysql.user的列计数错误预期43,发现45表可能已损坏

yhuiod9q  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(243)

从mariadb迁移到mysql社区后,在尝试授予新用户时出现以下错误:
错误1805(hy000):mysql.user的列计数错误。预期43,发现45。表可能已损坏
因为我从我不拥有的as服务器上得到了备份,所以我不知道mariadb的确切版本。但我的mysql服务器版本是:community-server-5.6.38-2

bxgwgixi

bxgwgixi1#

我尝试了很多论坛上发布的解决方案

mysql_upgrade --force -uroot -p

但这并没有给出预期的结果。
所以我比较了一个全新的mysql社区服务器和我的服务器上的字段列表。发现了三个有问题的领域:
是你的角色吗
默认\u角色
最长声明时间
所以我做了:

mysql -e "ALTER TABLE mysql.user DROP COLUMN is_role, DROP default_role, DROP max_statement_time" -uroot -p

这就成功了

相关问题