MySQL數據庫忘記密碼不用怕


root等賬號密碼的丟失,影響是致命的。下面給出方法,無密碼登錄mysql,修改密碼。
以下為5.7版本root賬號的密碼修改方法,5.6版本類似。

1.發現密碼忘記了,無法登錄數據庫

[root@192-168-199-198 /]# /opt/mysql5.7/bin/mysql -uroot -pfander -h127.0.0.1 -P3307
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'127.0.0.1' (using password: YES)

2.關閉數據庫

我這里用service關閉。沒有service,就只能kill掉了。

[root@192-168-199-198 init.d]# service mysql3307 stop
Shutting down MySQL(mysql3307)............ SUCCESS! 

3.加跳過權限表參數,重啟數據庫

這樣不輸入密碼,也能進入數據庫了。

## 臨時加--skip-grant-tables參數啟動,跳過權限表
/opt/mysql5.7/bin/mysqld --defaults-file=/data/mysql/mysql3307/my.cnf --skip-grant-tables &
#無密碼登錄db
/opt/mysql5.7/bin/mysql -S /tmp/mysql3307.sock

4.設置新密碼

MySQL5.7后password字段用authentication_string字段代替了。
use mysql;
update user set authentication_string=password('fander') where user='root' and host='%';
flush privileges;

5.去掉跳過權限表參數,重啟數據庫

#重啟數據庫
[root@192-168-199-198 init.d]# service mysql3307 restart
Shutting down MySQL(mysql3307)............ SUCCESS! 
Starting MySQL(mysql3307). SUCCESS! 
[1]+  Done                    /opt/mysql5.7/bin/mysqld --defaults-file=/data/mysql/mysql3307/my.cnf --skip-grant-tables
#登錄已無問題
[root@192-168-199-198 init.d]# /opt/mysql5.7/bin/mysql -uroot -pfander -h127.0.0.1 -P3307
mysql: [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 22
Server version: 5.7.23-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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.

mysql> 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM