【发布时间】:2017-10-21 03:47:09
【问题描述】:
症状:我刚刚尝试创建一个用户,就像我过去做过很多次一样,只是收到这个错误:
错误 1728 (HY000):无法从 mysql.user 加载。表大概是 损坏
原因: 自从我上次通过 phpMyAdmin 创建用户以来,我能想到的唯一可能导致这种情况的事情就是 apt-get 升级。据我所知,所有用户帐户都可以正常工作(测试所有帐户将是一个漫长的过程),并且其他数据库能够正常读取/写入/等
疑难解答:
升级:
我已经尝试过mysql_upgrade,它都报告该表(和所有其他表)都正常,并且需要--force 选项。我已经完成了一个完整的apt-get upgrade dist 并重新启动(然后是另一个mysql_upgrade - 嘿为什么不),问题仍然存在。
权限:
我已经验证了/var/lib/mysql 以南的所有文件的权限是 mysql:root rw:rw:-- (最初也是 mysql 组,但只有用户可见)包括 /var/lib/mysql-files(空)/var/lib/mysql-keyring(一个文件) 和/var/lib/mysql-upgrade(一个文件)
用户: 我有两个 root 用户(不同的名称,几乎相同的权限)并且都显示具有对 mysql.user 的完全访问权限(它显示并且能够很好地快速编辑 - 虽然完整的编辑缺少 BLOB 文件,但这可能是问题吗? ) 通过 phpMyAdmin。
创建用户方法:
我在使用CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; 时遇到与尝试通过 phpMyAdmin 时相同的错误 - 通过我的两个 root 帐户
在这一点上,我对重新安装 MySQL 甚至可能是 Ubuntu 感到有点害羞,而我看到的最接近的文章是关于 mysql.proc 的(没有用)
更新日志显示:
[警告] 表 mysql.user 的定义不正确:预期列 'password_expired' 在位置 41,找到'password_last_changed'。
[错误] /usr/sbin/mysqld:无法从 mysql.user 加载。该表是 可能已损坏
【问题讨论】:
标签: mysql ubuntu phpmyadmin