1. 程式人生 > >Navicat連不上mysql8

Navicat連不上mysql8

pass mys mysql 5.7 改密 str 權限 pro 連不上 技術

今天使用navicat連接mysql8,發現錯誤連連

錯誤1:1130-Host ‘192.168.50.2‘ is not allowed to connect to this MySQL server

技術分享圖片

錯誤2:2059-Authentication plugin ‘caching_sha2_password‘ cannot be loaded:The specified module could not be found

技術分享圖片

登錄mysql,並切換數據庫

  mysql -u root -proot

  use mysql;

  mysql 數據庫中存儲了一張 MySQL 用戶的 user 表,可以查看當前 root 用戶的相關信息

  select host, user, plugin from user where user = ‘root‘;

技術分享圖片

表格中有以下信息:

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

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

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

  plugin: 密碼加密方式;

1,首先要修改用戶可從外網訪問的權限

  mysql> update user set host = ‘%‘ where user = ‘root‘;

  mysql> FLUSH PRIVILEGES;

  這時,錯誤1就被解決了。

2,更改加密方式,mysql8引入了新特性 caching_sha2_password;老客戶端不支持,改為mysql_native_password 方式;

  ALTER USER ‘username‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;

  這時,錯誤2就被解決了。

  註意:用update方式修改密碼策略會導致用戶丟失。要刪掉重建。

Navicat連不上mysql8