解决MySQL无法创建新用户问题

使用MySQL创建用户命令时报错:

mysql root@192.168.1.27:sanguo> create user myuser IDENTIFIED by '123456'
(1033, u"Incorrect information in file: './mysql/tables_priv.frm'")

搜索发现是因为系统存放一些元数据的数据库损坏,需要重建各种系统库。

参考链接:

修复步骤:

  1. 查找失效文件路径
$ sudo find / -name tables_priv.frm
/home/mysql/mysql/tables_priv.frm
/home/mysql_back/mysql/tables_priv.frm
  1. 跟该表相关的一般有三个文件,先进行备份
$ sudo su
# ls /home/mysql/mysql/procs*
/home/mysql/mysql/procs_priv.frm
/home/mysql/mysql/procs_priv.MYI
/home/mysql/mysql/procs_priv.MYD
# for i in `ls /home/mysql/mysql/procs*`; do mv $i $i.bak; done
  1. 执行mysql_fix_privilege_tables
mysql_fix_privilege_tables --password=123456
  1. 重启MySQL,再次尝试新建用户操作
$ sudo service mysqld restart
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容