CentOS7 下更改 MySQL 8.0 密碼


CentOS7 重置 MySQL 8.0 密碼

上一篇文章我們已經講完了 MySQL 的安裝,本篇接下來將一下如何重置密碼。

1.查看自動生成的密碼

安裝完成后 MySQL會給我們自動生成一個隨機密碼

查看命令如下:

grep 'temporary password' /var/log/mysqld.log

因為自動的生成的密碼無法直接使用,也不便於我們記憶,所以我們要修改密碼。

2.配置文件 MySQL 免密碼登錄

編輯 MySQL 的配置文件

vim /etc/my.cnf

在 pid 開頭的下面一行加入下面這句

skip-grant-tables

保存並退出。

3.重啟 MySQL 服務

service mysqld restart 

4.免密碼登錄到 MySQL 上

mysql -u root -p

提示輸入密碼時直接敲回車。

5.選擇 mysql 數據庫

use mysql;

因為 mysql 數據庫中存儲了一張 MySQL 用戶的 user 表

6.在 mysql 數據庫的 user 表中查看當前 root 用戶的相關信息

select host, user, authentication_string, plugin from user; 

執行完上面的命令后會顯示一個表格

表格中有以下信息:

host: 允許用戶登錄的 ip ‘位置’ % 表示可以遠程;

user: 當前數據庫的用戶名;

authentication_string: 用戶密碼(在mysql 5.7.9以后廢棄了password字段和password()函數);

plugin: 密碼加密方式;

7.將默認的 root 密碼置空

use mysql;
update user set authentication_string='' where user='root';

8.退出 mysql命令行

quit

9.刪除 /etc/my.cnf 文件最后的 skip-grant-tables

vim /etc/my.cnf

刪除 skip-grant-tables 並保存退出。

10.重啟 MySQL 服務

service mysqld restart 

11.重新登錄到 MySQL 上

mysql -u root -p

提示輸入密碼時直接敲回車,因為我們剛才已經將密碼置為空了。

12.使用 ALTER 修改 root 用戶密碼

ALTER user 'root'@'localhost' IDENTIFIED BY 'Mysql123@';

其中 'Mysql123@' 為你設置的新密碼,注意這個密碼如果設置的比較簡單,例如 123456 等等,會設置不成功,它會提示你設置的密碼太簡單,最好設置成大寫字母、數字、符號的組合。

執行完之后會提示你 OK 的話,就代表修改成功了,至此重置密碼也就算是完了,你可以使用新設置的密碼去登錄試試。

可能很多同學在修改的密碼中遇到了很多問題,例如裝的是 MySQL 8.0,然后去重置密碼,還是用的舊的命令去修改密碼,導致報錯,因為 MySQL 5.7.6 以后廢棄了 user 表中的 password 字段和 password() 方法,所以使用舊的方法去重置密碼對 mysql 8.0 是不行的!

 


免責聲明!

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



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