誤刪除了所有用戶解決辦法
第一種方法(企業常用)
1.將數據庫down掉
[root@db03 mysql]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
[root@db03 mysql]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/mysql-5.6.44/tmp/mysql.sock' (2)
2.給/opt/目錄下所有受mysql用戶權限
[root@db03 mysql]# chown -R mysql.mysql /opt/*
3.啟動數據庫
[root@db03 ~]# mysqld_safe --skip-grant-tables --skip-networking &
4.進入數據庫
[root@db03 ~]# mysql
5.初始化
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
6.設置數據庫用戶權限和密碼
mysql> grant all on *.* to root@'localhost' identified by '1' with grant option;
Query OK, 0 rows affected (0.00 sec)
7.退出重啟數據庫
mysql> \q
[root@db03 mysql]# /etc/init.d/mysqld restar
8.進入數據庫查看
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.01 sec)
第二種方法
1.down掉數據庫
[root@db04 scripts]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
2.啟動數據庫
[root@db04 scripts]# mysqld_safe --skip-grant-tables --skip-networking & [1] 25934
3.進入數據庫
[root@db04 scripts]# mysql
4.使用數據庫
mysql> use mysql
Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
5.創建root用戶
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');
6.查看用戶
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.00 sec)
第三種方法(企業不可用,數據會丟失)
1.down掉數據庫
[root@db04 ~]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
2.刪除或改名/opt/mysql/data目錄
[root@db04 opt]# cd mysql
[root@db04 mysql]# mv data date
[root@db04 mysql]# rm -fr data
3.初始化
[root@db04 scripts]# ./mysql_install_db --datadir=/opt/mysql/data --basedir=/opt/mysql -- user=mysql
[root@db04 scripts]# echo $?
0
4.授權
[root@db04 scripts]# chown -R mysql.mysql /opt/*
5.啟動數據庫
[root@db04 scripts]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/opt/mysql/data/db04.err'. SUCCESS!
6.進入數據庫查看
[root@db04 scripts]# mysql
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | % |
| root | 127.0.0.1 |
| root | ::1 |
| | db02 |
| root | db02 |
| | localhost |
| root | localhost |
+------+-----------+
7 rows in set (0.00 sec)