前言:
目前咱们对“mysql误删root”大约比较着重,大家都需要知道一些“mysql误删root”的相关知识。那么小编同时在网上搜集了一些关于“mysql误删root””的相关内容,希望兄弟们能喜欢,咱们一起来了解一下吧!背景
今天下午开发组反应无法使用root用户登录到MySQL,在我登录失败几次的情况下,在配置文件中添加了skip-grant-tables选项,登录到MySQL服务,发现已经没有了root用户,而其他用户又没有root用户的权限,所以需要重新恢复root用户。
解决方法
由于该实例上的其他用户没有root权限,所以只能重新创建root用户,并且拥有最高权限,具体步骤如下:
1. 停止MySQL服务
$ service mysqld stop
2. 修改MySQL配置文件
在MySQL的配置文件中[mysqld]模块中添加skip-grant-tables配置项,示例如下:
[mysqld]#GTID configgtid_mode=ONlog-slave-updates=1enforce-gtid-consistency=1skip-grant-tables
3. 重启MySQL服务
启动MySQL服务,使配置项生效
$ service mysqld start
4. 无密码登陆MySQL
$ mysql -p
5. 重新添加root用户
使用insert添加root用户
insert into user set user=’root’,ssl_cipher=”,x509_issuer=”,x509_subject=”;
6. 更新root用户权限
update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y', Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';
7. 退出重新登录设置root密码
1) 退出MySQL服务
mysql> exit
2) 以root用户无密码登录
$ mysql -uroot -p
3) 设置root用户密码
mysql> update mysql.user set authentication_string=password('123456') where user='root';mysql> flush privileges;
8. 注释掉配置文件中新添加参数
注释掉配置文件中的skip-grant-tables参数
[mysqld]#GTID configgtid_mode=ONlog-slave-updates=1enforce-gtid-consistency=1#skip-grant-tables
9. 重启MySQL
$ service mysqld restart
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #mysql误删root