雲南銀穗科技小編在linux搭建網站的過程中遇到了這樣的問題,在使用Navicat配置遠程連接mysql數據庫時候,出現以下錯誤提示:
1130 - Host XXX is not allowed to connect to this MySQL server
這是因為mysql數據庫不支持遠程連接導致的。
下面就分享一下解決辦法:
一、在linux服務器上登錄root賬戶運行以下命令:
mysql -u root -p
二、接著運行以下命令:
use mysql;
select host from user where user='root';
就可以可以看到當前主機配置信息為localhost.意思就是隻能服務器內部訪問。
三、下面要把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設置了“%”後便可以允許遠程訪問。
四、Host修改完成後記得執行flush privileges使配置立即生效,命令如下:
flush privileges;
以上設置後可以再次運行第二步驟命令查看是都修改為%,成功後即可從navicat成功連接到mysql數據庫。
感謝觀看,歡迎和小編交流。