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