在linux中操作mysql误删root用户的应对方法

Posted sudaguo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在linux中操作mysql误删root用户的应对方法相关的知识,希望对你有一定的参考价值。

1.停止数据库
[[email protected] ~]# /etc/init.d/mysqld stop

2.跳过授权表启动mysql
[[email protected] ~]# mysqld_safe --skip-grant-tables --skip-networking &

3.尝试创建用户
mysql> create user [email protected]‘localhost‘ identified by ‘123‘;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> grant all on *.* to [email protected]‘localhost‘ identified by ‘123‘;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

4.插入root用户
mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject) values(‘localhost‘,‘root‘,PASSWORD(‘123‘),‘‘,‘‘,‘‘);

insert into mysql.user values (‘localhost‘,‘root‘,PASSWORD(‘123‘),
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘Y‘,
‘‘,
‘‘,
‘‘,
‘‘,0,0,0,0,‘mysql_native_password‘,‘‘,‘N‘);

(不好的地方要加--skip-networking,不然数据其他人也能通过远程连接进入数据库,让数据不安全)

 

方法二:

(刷新,数据库)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to [email protected]‘localhost‘ identified by ‘123‘;
Query OK, 0 rows affected (0.00 sec)

授权超级用户
grant all on *.* to [email protected]‘localhost‘ identified by ‘123‘ with grant option;

以上是关于在linux中操作mysql误删root用户的应对方法的主要内容,如果未能解决你的问题,请参考以下文章

mysql误删root

mysql误删root用户恢复方案

mysql误删root用户解决办法

Mysql数据库误删root用户极速解决办法

Mysql误删了root用户怎么办

mysql误删root用户或者忘记root密码解决方法