mysql用户被删除_Mysql用户误删除导致无法进入数据库

Mysql用户误删除

管理员误删除mysql的所有用户,数据库并且重启导致无法进入数据库

恢复步骤如下

查看数据库是否存活,并尝试登陆

[root@db02 data]# ps -ef |grep mysqld

mysql 7706 1 2 04:56 ? 00:00:00 /application/mysql/bin/mysqld --defaults-file=/etc/my.cnf

root 7733 6954 0 04:57 pts/0 00:00:00 grep --color=auto mysqld

[root@db02 data]#

[root@db02 data]# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@db02 data]#

找到/etc/my.cnf 添加skip-grant-tables保存 让数据库跳过验证

[root@db02 mysql]# vim /etc/my.cnf

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.

[mysqld]

skip-grant-tables #跳过验证

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

从新启动mysql再进入数据库

[root@db02 mysql]# systemctl restart mysqld

[root@db02 mysql]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.6.44 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user,host from mysql.user;

Empty set (0.00 sec)

mysql>

新建一个管理员用户

mysql> grant all on *.* to root@localhost identified by '1' with grant option;

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql>

#这里需要刷新一下权限才可以执行

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to root@localhost identified by '1' with grant option;

Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from mysql.user;

+------+-----------+

| user | host |

+------+-----------+

| root | localhost |

+------+-----------+

1 row in set (0.00 sec)

mysql>

删除/etc/my.cnf文件中的skip-grant-tables并重启mysqld服务测试是否可以连接

[root@db02 mysql]# sed -ri 's#skip-grant-tables##g' /etc/my.cnf

[root@db02 mysql]# systemctl restart mysqld

[root@db02 mysql]# mysql -uroot -p1

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.44 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

以上是本次故障解决流程

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值