1. 程式人生 > 資料庫 >1130 - Host XXX is not allowed to connect to this MySQL server,1251 client does not support

1130 - Host XXX is not allowed to connect to this MySQL server,1251 client does not support

1.在用Navicat配置遠端連線Mysql資料庫時遇到如下報錯資訊,這是由於Mysql配置了不支援遠端連線引起的。

2.在安裝Mysql資料庫的主機上登入root使用者:

mysql -u root -p

3.依次執行如下命令:

 
  1. use mysql;

  2.  
  3. select host from user where user='root';

可以看到當前主機配置資訊為localhost.

4.將Host設定為萬用字元%

Host列指定了允許使用者登入所使用的IP,比如user=root Host=192.168.1.1。這裡的意思就是說root使用者只能通過192.168.1.1的客戶端去訪問。 user=root Host=localhost,表示只能通過本機客戶端去訪問。而%是個萬用字元,如果Host=192.168.1.%,那麼就表示只要是IP地址字首為“192.168.1.”的客戶端都可以連線。如果Host=%,表示所有IP都有連線許可權。 

注意:在生產環境下不能為了省事將host設定為%,這樣做會存在安全問題,具體的設定可以根據生產環境的IP進行設定;

 

update user set host = '%' where user ='root';

Host設定了“%”後便可以允許遠端訪問。

5.Host修改完成後記得執行flush privileges使配置立即生效

flush privileges;

-----------------------------------------------------------------------------------------------------------------

一、客戶端連線mysql,問題:1251 client does not support ...

 

二、解決

1.檢視使用者資訊

select host,user,plugin,authentication_string from mysql.user;

備註:host為 % 表示不限制ip    localhost表示本機使用    plugin非mysql_native_password 則需要修改密碼

2.修改使用者密碼

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

更新user為root,host為% 的密碼為123456

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
更新user為root,host為localhost 的密碼為123456

三、成功

 

6.使用navicat 成功連線至mysql