ERROR 1805(HY000):mysql.user的列数错误。预计43,发现45.该表可能已损坏

时间:2018-01-16 15:39:52

标签: mysql mariadb

从mariadb迁移到mysql-community后,当我尝试授予新用户时出现此错误:

  

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

当我从服务器获得备份时我没有拥有,我确实不知道maria-db的确切版本。但是我的mysql-server版本是:community-server-5.6.38-2

1 个答案:

答案 0 :(得分:3)

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

mysql_upgrade --force -uroot -p

但这并没有给出预期的结果。

所以我比较了一个全新的mysql社区服务器和我的字段列表。并发现了3个有问题的领域:

  • is_role
  • default_role
  • max_statement_time

所以我做了:

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

这很有效