错误1728(HY000):无法从mysql.user加载。表可能已损坏

错误1728(HY000):无法从mysql.user加载。表可能已损坏,mysql,ubuntu,phpmyadmin,Mysql,Ubuntu,Phpmyadmin,症状:我刚刚尝试创建一个用户,就像我在过去做过很多次一样,结果收到这个错误: 错误1728(HY000):无法从mysql.user加载。这张桌子可能是空的 腐化 原因: 自从上次通过phpMyAdmin创建用户以来,我所能想到的唯一可能导致这种情况的事情就是升级。据我所知,所有用户帐户都工作正常(测试所有帐户将是一个漫长的过程),其他数据库都能够读取/写入/等等 故障排除: 升级: 我已经尝试了mysql\u升级,它都报告该表(以及所有其他表)正常,并且需要--force选项。我已经完成了一次

症状:我刚刚尝试创建一个用户,就像我在过去做过很多次一样,结果收到这个错误:

错误1728(HY000):无法从mysql.user加载。这张桌子可能是空的 腐化

原因: 自从上次通过phpMyAdmin创建用户以来,我所能想到的唯一可能导致这种情况的事情就是升级。据我所知,所有用户帐户都工作正常(测试所有帐户将是一个漫长的过程),其他数据库都能够读取/写入/等等

故障排除:

升级: 我已经尝试了
mysql\u升级
,它都报告该表(以及所有其他表)正常,并且需要
--force
选项。我已经完成了一次完整的
apt-get-upgrade-dist
并重新启动了(接下来是另一次
mysql\u升级
-嘿,为什么不升级),问题仍然存在

权限: 我已经验证了
/var/lib/mysql
以南的所有文件中的权限都是mysql:root rw:rw:-(它们最初也是mysql组,但仅由用户可见),包括
/var/lib/mysql文件
(空)
/var/lib/mysql密钥环
(一个文件)和
/var/lib/mysql升级
(一个文件)

用户: 我有两个根用户(不同的名称,几乎相同的权限),都可以通过phpMyAdmin完全访问mysql.user(它显示并能够很好地快速编辑-尽管完全编辑缺少BLOB文件,这可能是问题吗?)

创建用户方法: 我在使用由“密码”标识的
创建用户“USER”@“localhost”时遇到相同的错误与尝试通过phpMyAdmin时一样-通过我的两个根帐户

目前,我还没有重新安装MySQL,甚至可能是Ubuntu,我看到的最接近MySQL.proc的文章(还没有成功)

更新日志显示:

[警告]表mysql的定义不正确。用户:应为列 “密码已过期”在第41位,找到“密码上次更改”

[错误]/usr/sbin/mysqld:无法从mysql.user加载。桌子是空的 可能已经腐化了


即使重新运行mysql\u升级,用户列的顺序仍然错误

我不雅观的解决方案是:

  • 导出用户
  • 重新排列表列定义(交换密码\u过期和密码\u上次\u更改)
  • 作为user2导入(只是为了确保)
  • 删除表用户;(天哪!)
  • 将user2复制到user(谢天谢地它工作了!)