mysql忘記了超級用戶管理密碼,能夠利用從新啓動mysql進程的時候帶 --skip-grant-tables參數來啓動數據庫,並空密碼登陸。這個就是至關因而數據庫第一次啓動的時候。隨後能夠查看mysql.user表裏面的超級用戶,以及修改超級用戶的密碼mysql
1# 關閉MYSQL instance,或者殺死進程sql
2# 從新啓動mysql,帶--skip-grant-tables語句數據庫
[mysql@mysql01 my.cnf.d]$ mysqld_safe --defaults-file='/data/mysqldata/3306/my.cnf' --skip-grant-tables & [1] 32530 [mysql@mysql01 my.cnf.d]$ 180828 19:02:13 mysqld_safe Logging to '/data/mysqldata/3306/data/../mysql-error.log'. 180828 19:02:13 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data [mysql@mysql01 my.cnf.d]$
3# 空密碼登陸MySQLbash
[mysql@mysql01 my.cnf.d]$ msyql -S /data/mysqldata/3306/mysql.sock bash: msyql: command not found... [mysql@mysql01 my.cnf.d]$ mysql -S /data/mysqldata/3306/mysql.sock Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.31-log Source distribution Copyright (c) 2000, 2016, 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. (root@localhost)[(none)]>
4# 修改mysql.user表ide
(root@localhost)[(none)]> 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 (root@localhost)[mysql]> (root@localhost)[mysql]> select user,host,password from user; +------+-----------+-------------------------------------------+ | user | host | password | +------+-----------+-------------------------------------------+ | root | localhost | *A0F874BC7F54EE086FCE60A37CE7887D8B31086B | +------+-----------+-------------------------------------------+ 1 row in set (0.00 sec) (root@localhost)[mysql]> update user set password=password('password123') where user='root'; Query OK, 0 rows affected (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 0 (root@localhost)[mysql]>
5# 正常關閉數據庫ui
[mysql@mysql01 my.cnf.d]$ mysqladmin -S /data/mysqldata/3306/mysql.sock -uroot -p'password123' shutdown Warning: Using a password on the command line interface can be insecure. 180828 19:04:54 mysqld_safe mysqld from pid file /data/mysqldata/3306/mysql.pid ended [1]+ Done mysqld_safe --defaults-file='/data/mysqldata/3306/my.cnf' --skip-grant-tables [mysql@mysql01 my.cnf.d]$
6# 正常開啓數據庫this
[mysql@mysql01 my.cnf.d]$ mysqld_safe --defaults-file='/data/mysqldata/3306/my.cnf' & [1] 33094 [mysql@mysql01 my.cnf.d]$ 180828 19:05:04 mysqld_safe Logging to '/data/mysqldata/3306/data/../mysql-error.log'. 180828 19:05:04 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data [mysql@mysql01 my.cnf.d]$
7# 正常登陸數據庫code
[mysql@mysql01 my.cnf.d]$ mysql -uroot -S '/data/mysqldata/3306/mysql.sock' -p'password123' 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.31-log Source distribution Copyright (c) 2000, 2016, 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. (root@localhost)[(none)]>
至此mysql的root密碼修改完成orm