Mysql8.0的登錄大坑……(忘記登錄密碼也可以這麽搞)
阿新 • • 發佈:2018-10-26
特殊字符 配置文件 並保存 重新登錄 ron 小寫 原因 密碼 文章
關於安裝和使用就不說了,屬於基本操作了;
我來重點記錄一下關於使用前,使用navicat登錄的時候報錯,1130和2059
查看安裝後隨機生成的密碼: grep ‘temporary password‘ /var/log/mysqld.log
原因:mysql8的密碼驗證機制變更caching_sha2_password,且密碼要求數字+大小寫字母+特殊字符(一般是下劃線),且長度大於8;
解決方法:變更加密規則,修改密碼
1.編輯mysql配置文件:
vim /etc/my.cnf
2.在pdi這行下邊添加一行,並保存退出:
skip-grant-tables
3.重啟MySQL服務:
service mysqld restart
4.免密登錄mysql,密碼直接敲回車:
mysql -u root -p
5.選擇數據庫:
use mysql;
6.查看當前數據庫信息,其中表中信息:
host:允許用戶登錄的 ip ‘位置’ % 表示可以遠程;
user:登錄數據庫用戶名;
authentication:用戶密碼;(5.7.9以後不用password字段了,什麽鬼,簡單點不好嗎?)
plugin:加密方式;
select host, user, authentication_string, plugin from user;
7.修改成我們需要的信息:(可以單獨添加一個登錄用戶,或者直接在root上做文章)
update user set host=‘%‘,plugin=‘mysql_native_password‘,authentication_string=‘‘ where user=‘root‘;
8.退出mysql
quit
9.刪除 /etc/my.cnf 文件最後的 skip-grant-tables,保存並退出,並重啟mysql服務
vim /etc/my.cnf
service mysqld restart
10.重新登錄到mysql,並修改密碼(註意,上邊如果把root的host改成了%,下邊這裏的localhost要寫%)
mysql -u root -p ALTER user‘root‘@‘localhost‘ IDENTIFIED BY ‘Xpf123@‘;
搞定!
Mysql8.0的登錄大坑……(忘記登錄密碼也可以這麽搞)