Mysql8.0的登陸大坑……(忘記登陸密碼也能夠這麼搞)

  關於安裝和使用就不說了,屬於基本操做了;mysql

  我來重點記錄一下關於使用前,使用navicat登陸的時候報錯,1130和2059sql

  查看安裝後隨機生成的密碼: grep 'temporary password' /var/log/mysqld.log數據庫

  緣由:mysql8的密碼驗證機制變動caching_sha2_password,且密碼要求數字+大小寫字母+特殊字符(通常是下劃線),且長度大於8;vim

  解決方法:變動加密規則,修改密碼ui

  1.編輯mysql配置文件:加密

vim /etc/my.cnf

  2.在pdi這行下邊添加一行,並保存退出:spa

skip-grant-tables

  3.重啓MySQL服務:rest

service mysqld restart 

  4.免密登陸mysql,密碼直接敲回車:code

mysql -u root -p

  5.選擇數據庫:blog

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@';

  搞定!

相關文章
相關標籤/搜索