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 服務
servicemysqld restart
4.免密碼登錄到 MySQL 上
mysql-u root -p
提示輸入密碼時直接敲回車。
5.選擇 mysql 資料庫
usemysql;
因為 mysql 資料庫中存儲了一張 MySQL 用戶的 user 表
6.在 mysql 資料庫的 user 表中查看當前 root 用戶的相關信息
selecthost,user, authentication_string,pluginfromuser;
執行完上面的命令後會顯示一個表格
表格中有以下信息:
host: 允許用戶登錄的 ip 『位置』 % 表示可以遠程;
user: 當前資料庫的用戶名;
authentication_string: 用戶密碼(在mysql 5.7.9以後廢棄了password欄位和password()函數);
plugin: 密碼加密方式;
7.將默認的 root 密碼置空
usemysql;
updateusersetauthentication_string=""whereuser="root";
8.退出 mysql命令行
quit
9.刪除 /etc/my.cnf 文件最後的 skip-grant-tables
vim/etc/my.cnf
刪除 skip-grant-tables 並保存退出。
10.重啟 MySQL 服務
servicemysqld restart
11.重新登錄到 MySQL 上
mysql-u root -p
提示輸入密碼時直接敲回車,因為我們剛才已經將密碼置為空了。
12.使用 ALTER 修改 root 用戶密碼
ALTERuser"root"@"localhost"IDENTIFIEDBY"Xpf123@";
其中 Xpf123@ 為你設置的新密碼,注意這個密碼如果設置的比較簡單,例如 123456 等等,會設置不成功,它會提示你設置的密碼太簡單,最好設置成大寫字母、數字、符號的組合。
執行完之後會提示你 OK 的話,就代表修改成功了,至此重置密碼也就算是完了,你可以使用新設置的密碼去登錄試試。
可能很多同學在修改的密碼中遇到了很多問題,例如裝的是 MySQL 8.0,然後去重置密碼,還是用的舊的命令去修改密碼,導致報錯,因為 MySQL 5.7.6 以後廢棄了 user 表中的 password 欄位和 password() 方法,所以使用舊的方法去重置密碼對 mysql 8.0 是不行的!
好了,今天的講解就到這裡吧。
如果大家有什麼問題,請在下方留言!


TAG:IT大飛說 |