mysql管理员删除了怎么办_mysql 误删除所有用户解决办法

news/2025/2/27 6:28:31

企业中误删除所有用户故障案例

1.不小心删除了所有用户

#1.查看用户

mysql> select user,host from mysql.user;

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

| user | host |

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

| root | 127.0.0.1 |

| root | ::1 |

| | db02 |

| root | db02 |

| | localhost |

| root | localhost |

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

6 rows in set (0.00 sec)

#2.误删除用户

mysql> delete from mysql.user where 1=1;

Query OK, 6 rows affected (0.00 sec)

mysql> select user,host from mysql.user;

Empty set (0.00 sec)

#3.删除所有用户后,仍然可以登录,重启后就不能登录了

[root@db02 ~]# systemctl restart mysqld

[root@db02 ~]# mysql -uroot -p123

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

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

2.解决方案一:

1)停止数据库

[root@db02 ~]# systemctl stop mysqld

2)跳过授权表和网络启动数据库

#1.只跳过授权表启动

[root@db02 ~]# mysqld_safe --skip-grant-tables &

#2.跳过授权表和网络启动

[root@db02 ~]# mysqladmin shutdown

[root@db02 ~]# mysqld_safe --skip-grant-tables --skip-networking &

3)插入一个用户

#1.使用grant授权创建用户失败

mysql> grant all on *.* to root@'localhost' identified by '123';

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

#2.使用create创建用户失败

mysql> create user root@'localhost';

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

#3.使用insert语句插入新用户

mysql> use mysql

mysql> insert into user(user,host,password) values('root','localhost','123');

ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value

#原因:因为表中的字段很多不能为空,默认值又是空,所以必须指定不为空的字段

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

Query OK, 1 row affected (0.00 sec)

#插入用户可以成功,但是用户权限全是N,没有任何权限的用户没有用

#4.正确方法

mysql> 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');

#查看插入用户的权限

mysql> select * from mysql.user\G

4)正常启动数据库

[root@db02 ~]# mysqladmin shutdown

[root@db02 ~]# systemctl start mysqld

[root@db02 ~]# mysql -uroot -p123

3.解决方案2:

1)停止数据库

[root@db02 ~]# systemctl stop mysqld

2)跳过授权表和网络启动数据库

#1.只跳过授权表启动

[root@db02 ~]# mysqld_safe --skip-grant-tables &

#2.跳过授权表和网络启动

[root@db02 ~]# mysqladmin shutdown

[root@db02 ~]# mysqld_safe --skip-grant-tables --skip-networking &

3)插入一个用户

#1.刷新授权表

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

#2.授权一个用户

mysql> grant all on *.* to root@'localhost' identified by '123';

Query OK, 0 rows affected (0.00 sec)

#3.查看用户权限

mysql> select * from mysql.user\G

#4.管理员用户中授权权限为 N,所以要修改这个值

mysql> update mysql.user set Grant_priv='Y' where Host='localhost';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

#5.或者再授权时直接加上参数包含 grant 权限

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

Query OK, 0 rows affected (0.00 sec)

4)正常启动数据库

[root@db02 ~]# mysqladmin shutdown

[root@db02 ~]# systemctl start mysqld

[root@db02 ~]# mysql -uroot -p123


http://www.niftyadmin.cn/n/2308399.html

相关文章

Symbian关于listBox的常用技巧小结

其实官方出了一个关于LISTBOX的例子,例子很全基本包含了所有关于LISTBOX的应用.小弟根据自己的研究和自己开发中的经验在此总结一下.其实LISTBOX有多种方格用法都非常接近,精通一个后基本都会了.1.创建listboxvoid CSingleListBoxContainer::CreateList(){iListBox new (ELeav…

symbian 文件操作

为了使用文件服务器,调用者首先必须创建一个由RFs 类的实例来表示的文件服务器会话。 通过调用Connect()来初始化文件服务器会话,Connect()会返回错误代码。客户端应负责关闭已经连接的文件服务器会话。如果文件服务器会话是一个局部变量,那…

centos mysql 5.6.20_CentOS 6.5下编译安装MySQL 5.6.20

第2个例子整理。1.先去官方下载mysql5.6.20源码包,然后yum -y install gcc gcc-devel gcc-c gcc-c-devel autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bison bison-devel 准备编译需要用到的组件。2…

symbian 声音提示和震动提示的开发

声音提示可以采用两种方法:一种是利用系统自带的CoeSoundPlayer类来实现单音铃声的播放;另一种则是利用S60提供的多媒体框架CMda*类来实现音频播放。 关于声音提示的使用 CoeSoundPlayer类使用 该类声明于coesndpy.h头文件,库是cone.lib,最…

mysql column分区_MySQL · RocksDB · Column Family介绍

概述在RocksDB 3.0中加入了Column Family特性,加入这个特性之后,每一个KV对都会关联一个Column Family,其中默认的Column Family是 “default”.Column Family主要是提供给RocksDB一个逻辑的分区.从实现上来看不同的Column Family共享WAL,而都…

symbian RConnection的简单使用两则

RConnection 的基类是RSubSessionBase。目前我所知道的就是两个功能:一、为套接字在SymbianOS上使用建立会话通道,二、使用已建立的会话通道 第一种应用是为了屏蔽接入点(IAP)选择对话框,具体代码如下 TInt currentP…

Symbian中的Http应用

1 打开一个会话 Http客户端会话由声明一个RHttpSession对象并调用它的OpenL()方法开始。 RHTTPSession iSession; iSession.OpenL(); 2 创建一个事务 要创建一个新的事务,客户端必须指定URI、HTTP请求方法和一个用于接收事务处理期间的事件的callback对象&#…

mysql数据库apache_MySQL数据库之Apache+mysql+php

本文主要向大家介绍了MySQL数据库之Apachemysqlphp ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpmyum localinstall mysql57-community-release-el7-8.noar…