程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> host xxx is not allowed to connect to this MySQL

host xxx is not allowed to connect to this MySQL

編輯:關於SqlServer
 

新安裝了一個VPS的MYSQL數據庫,發現在本機使用Navicat Premium遠程連接該數據庫時出現“host xxx is not allowed to connect to this MySQL server”的錯誤提示。按英文的翻譯應該就是不允許本機連接到該數據庫,即不允許遠程連接。

解決方法如下:

1.在Windows的主機中,打開命令提示符,或者在運行裡輸入“cmd”回車,然後進入mysql的安裝目錄的BIN目錄下面。

例如mysql安裝位置在D:\mysql server 5.5

在命令提示符中的示例如下:
C:\User\xada-xps\>cd D:\mysql server5.5\bin (回車)
C:\User\xada-xps\>D: (回車)
D:\mysql server5.5\bin>mysql -uroot -pjtydl (回車)
 

mysql


mysql -uroot -pjtydl 是mysql的登錄命令,其中:
-uroot就是默認的超級管理員帳號root
-p後面的就是用戶root的密碼jtydl


2.開啟mysql帳戶遠程登錄,並授權
輸入
grant all PRIVILEGES on mysql.* to root@'192.168.1.100' identified by 'jtydl';

該命令的參數分析:

all PRIVILEGES 表示賦予所有的權限給指定用戶,這裡也可以替換為賦予某一具體的權限,例如select,insert,update,delete,create,drop 等,具體權限間用“,”半角逗號分隔。

mysql.* 表示上面的權限是針對於哪個表的,mysql指的是數據庫,後面的 * 表示對於所有的表,由此可以推理出:對於全部數據庫的全部表授權為“*.*”,對於某一數據庫的全部表授權為“數據庫名.*”,對於某一數據庫的某一表授權為“數據庫名.表名”。

root 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。

192.168.1.100 表示允許遠程連接的 IP 地址,如果想不限制鏈接的 IP 則設置為“%”即可。

jtydl 為用戶的密碼。

即如果想不限制IP地址,修改所有數據表允許遠程連接的命令是:

grant all PRIVILEGES on *.* to root@'%' identified by 'jtydl';

3.輸入命令後,還需要執行下面的語句,方可生效。

flush privileges;
 

mysql 修改遠程權限


注意事項:
上述第2、3點的語句,最後是帶冒號";"結束語句的。如果語法正確,執行之後是會有返回值的。

本站親測可用,並截圖,非無意義的轉載。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved