MySQL的 root 帳號密碼默認爲空,經常都有修改密碼後忘記密碼的事。如果忘記了root 帳號密碼,那該怎麼修改密碼呢?這裏有一個可行的方法,就是在MySQL安全模式下(跳過權限檢查)修改密碼的方式來解決這個問題。本文分別對Windows環境與Linux環境下介紹MySQL忘記密碼時修改密碼的方法,希望幫助初學者解決丟失密碼的煩惱。
Windows下MySQL重置密碼
通常MySQL都是安裝成Windows服務運行的。
1、啓動cmd命令窗口:
# 關閉MySQL服務
D:\MySQL\bin>sc stop mysql
# 以安全模式啓動MySQL
D:\MySQL\bin>mysqld --skip-grant-tables
2、不要關閉,再啓動一個新的cmd命令窗口:
# 登錄MySQL數據庫
D:\MySQL\bin>mysql -u root -p
mysql> use mysql;
mysql> update user set password=password("123456") where user="root";
mysql> flush privileges;
3、關閉以上兩個窗口,啓動MySQL服務
# 啓動MySQL服務
C:\>sc start mysql
Linux下MySQL重置密碼
Linux下重置密碼的操作與Windows下類似。
# 停止MySQL服務
[root@www ~]# /etc/init.d/mysql stop
# 以安全模式啓動MySQL
[root@www ~]# /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
# 登錄MySQL
[root@www ~]# mysql -u root -p
mysql> use mysql;
mysql> update user set password=password("123456") where user="root";
mysql> flush privileges;
# 啓動MySQL服務
[root@www ~]# /etc/init.d/mysql start
注意了,MySQL5.7之後,重置root密碼SQL
update mysql.user set authentication_string=password('123456') where user='root';
轉自:https://blog.csdn.net/mycwq/article/details/17262655
show global variables like "%datadir%";