不小心误删@‘local’操作恢复

今天在测试用户权限的时候不小心把User: ''@'localhost';用户删除了 导致任何用户登录都无权限操作

恢复过程

停止mysql服务;在mysql安装目录下找到my.ini(linux下是);在my.ini中找到以下片段[mysqld];另起一行加入代码:skip-grant-tables 并保存

service mysqld restart(linux 下是my.cnf)

启动mysql服务,并登录mysql(无用户名和密码);找到user表加入root用户

 insert into mysql.user (host, user, password,ssl_cipher,x509_issuer,x509_subject) values ('localhost', 'root', password('root'),'','','');

删掉skip-grant-tables

重启mysql 服务

usr/bin/mysql 是指:mysql的运行路径 
var/lib/mysql 是指:mysql数据库文件的存放路径 (用户删除后文件还会存在,但是用户所有库在 mysql中就查询不到了)
usr/lib/mysql 是指:mysql的安装路径

原文地址:https://www.cnblogs.com/yaohaitao/p/5805776.html