MySQL授权丢失

今日在开发时突然发现MySQL不能使用了,一看日志发现是连接获取不到,赶紧查看User表,发现常用的insert,select,update,delete,create,drop授权全都没有了,而且这是一个root账户,查看了网上的解决方案,使用skip-grant-tables参数启动后授权仍然提示报错


最后还是使用了一个笨办法,为了保证不影响其它数据库,将没有授权的User的数据文件重命名为User1,移至另一台MySQL上,数据文件包括frm,myd,myi,此时需要注意,新的文件导入后用户组已经不是mysql组,并且权限也不对,需要执行如下shell

然后执行如下SQL

将User1重命名回User覆盖原库文件,执行如下shell

进入MySQL命令行后,再执行授权并刷新

一般用户到这一步基本就可以正常使用了,如果还不行那么请执行mysql_upgrade,再重启MySQL即可.

发表评论(沙发空缺中,还不快抢~)

设置头像

*