問題描述
在Windows系統中安裝了監控MySQL數據庫服務器性能的工具Spotlight on MySQL,利用Spotlight連接Linux服務器中的MySQL,進行相關配置如下:

點擊"Connect"進行連接,連接過程中出現異常提示:
Unable to connect to "192.168.xxx.xxx"
Spotight encountered the following error during connection: Failed to connect with error: Host 192.168.xxx.1' is not allowed to connect to this MySQL server

問題分析
Host 192.168.xxx.1' is not allowed to connect to this MySQL server
選定的host不允許連接到MySQL服務器,很可能是MySQL中沒有開放任意IP連接MySQL的權限,默認情況下出於安全策略的考慮並沒有開放給任意IP連接MySQL
解決方案
在MySQL服務器上作如下配置:
方式1:配置指定IP的用戶具備連接MySQL的權限
# 連接mysql mysql -uroot -proot # 使用mysql show databases; use mysql; # 創建指定IP用戶具備root用戶權限 select host,user,password from user; # 查看user表中host和user字段的對應關系 update user set host='192.168.xxx.xxx' where user='root'; # 指定某個主機的 IP update user set host='%' where user='root'; # 包括所有主機IP均可以root賬戶連接 MySQL # 刷新權限配置,使配置生效 flush privileges;

備注:方式1執行修改權限時可能會出現提示"ERROR 1062...",但不影響本次權限的修改
方式2:直接授權任何主機以root用戶均可連接MySQL
# 連接mysql mysql -uroot -proot # 授權root/root賬戶具備包括連接MySQL的權限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; # 刷新權限配置,使配置生效 flush privileges;

以上配置生效后,再次用Spotlight連接Linux服務器上的MySQL,即可連接成功,如下:

Windows系統瀏覽器訪問Linux服務器的IP,然后檢測MySQL連接狀態:連接ok

參考資料:
[1] 在windows系統連接linux系統下的mysql
[2] windows下用navicat遠程鏈接虛擬機Linux下MySQL數據庫