Linux下修改Mysql密碼的三種方式


一、知道原來的myql數據庫的root密碼;

1、 在終端命令行輸入 

1
mysqladmin -u root -p password "新密碼" 回車 ,Enter password: 【輸入原來的舊密碼】

2、 登錄mysql系統修改, mysql -uroot -p 回車 Enter password: 【輸入原來的密碼】

1
2
3
4
5
6
7
mysql>use mysql;
 
mysql> update user set password=password("新密碼"where user='root';      
 
mysql> flush privileges;
 
mysql> exit;

然后使用剛才輸入的新密碼即可登錄。

二、不知道原來的myql的root的密碼;
首先,你必須要有操作系統的root權限了。

需要先停止mysql服務,/etc/init.d/mysqld stop

當提示mysql已停止后進行下一步操作  

1
Shutting down MySQL. SUCCESS!

在終端命令行輸入

1
mysqld_safe --skip-grant-tables &         【登錄mysql系統】

輸入mysql登錄mysql系統

1
2
3
4
5
6
7
mysql> use mysql;
 
mysql> UPDATE user SET password=password("新密碼") WHERE user='root';      【密碼注意大小寫】
 
mysql> flush privileges;
 
mysql> exit;

重新啟動mysql服務

這樣新的root密碼就設置成功了。

三、修改root登錄權限

當你修改好root密碼后,很有可能出現這種情況

1
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

這是因為root登錄權限不足,具體修改方法如下

需要先停止mysql服務,/etc/init.d/mysqld stop

當提示mysql已停止后進行下一步操作   

1
Shutting down MySQL. SUCCESS!

在終端命令行輸入

1
mysqld_safe --skip-grant-tables &         【登錄mysql系統】

輸入mysql登錄mysql系統

1
2
3
4
5
6
7
8
9
mysql>use mysql;
 
mysql>update user set host = '%' where user = 'root';
 
mysql>select host, user from user;
 
mysql> flush privileges;
 
mysql> exit;

然后重新啟動mysql服務就可以了。

備注:

如果Mysql的版本是5.7及以上的話update語句如下:

mysql> update user set authentication_string=passworD("test") where user='root';

 

 

centos8 修改mysql密碼

Linux下mysql升級到8.0版本了,以往mysql5.7設置密碼的方法已經失效,故各種查資料找方法,尋到mysql8.0root賬號密碼修改方法。

(注:很多人卡在了步驟5,此時只需將root原來的密碼置空再進行修改即可成功 )

 

1 安裝好mysql8.0后,root賬號進mysql發現進不去 mysql -uroot -p

 

2 進入配置文件 vim /etc/my.cnf 添加代碼 skip-grant-tables 即可跳過mysql密碼驗證進行登錄

 

3 重啟mysql systemctl restart mysqld

 

4 重新登錄,密碼隨便填即可進入

 

5 此時輸入 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼'; 發現修改不了 (注意:密碼得復雜點,像123456這樣的會提示重新設置復雜的密碼)

 

6 需要先將root密碼置空 update user set authentication_string='' where  user = 'root';

 

7 再執行步驟5即可修改成功 如果發現步驟5還是報錯 請先執行 flush privileges;

 

 8 FLUSH privileges; 刷新mysql相關系統權限表,退出

 

9 進入配置文件 vim /etc/my.cnf 將這行注釋  skip-grant-tables 前面加#即可注釋

 

10 重新啟動mysql,輸入剛才設置的密碼進入mysql:

 

 密碼設置成功!

 

mysql配置外網訪問並允許navicat鏈接
mysql> use mysql;
mysql> update user set host="%" where user='root';
mysql> update user set host="%" where user='root';
mysql> flush privileges;


免責聲明!

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



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