Linux下mysql忘記管理員密碼的解決方法
來看看下面
在開啟mysql服務的適時候,使用--skip-grant-tables 參數跳過權限檢查啟動mysql
[root@potato Desktop]# mysqld_safe --skip-grant-tables
161209 00:01:29 mysqld_safe Logging to '/data/mysql/mytest_3306/data/error.log'.
161209 00:01:29 mysqld_safe Starting mysqld daemon with databases from /data/mysql/mytest_3306/data
直接mysql就可以登陸(ps:登陸進去就擁有管理員權限)
[root@potato Desktop]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.34-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.
開始改密碼,不過這里有個地方要注意
若是直接用set的方式改密碼,會報錯,因為使用了--skip-grant-table,所以沒辦法用
root@localhost:mysql.sock 00:02:17 [(none)]>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
所以只能直接改mysql.user權限表了
root@localhost:mysql.sock 00:05:52 [(none)]>use mysql
Database changed
root@localhost:mysql.sock 00:06:10 [mysql]> UPDATE user SET password = password ('root') where user = 'root';
Query OK, 0 rows affected (0.05 sec)
Rows matched: 1 Changed: 0 Warnings: 0
修改完畢便關閉服務
root@localhost:mysql.sock 00:06:16 [mysql]>quit
Bye
[root@potato Desktop]# mysqladmin shutdown
然后正常啟動mysql服務,再用修改后的密碼登陸
[root@potato Desktop]# mysqld_safe
[root@potato Desktop]# mysql -uroot -proot
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.34-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:mysql.sock 00:08:32 [(none)]>
看,已經成功登陸進去了
ps:mysql管理員忘記密碼后,是不是再也不用擔心了???