MySQL 使用者的遠端存取
嘗試使用使用者user@'%' 和密碼密碼,儘管通配符% 表示從任何主機存取,但連線失敗。
原因失敗
MySQL 使用者主機欄位中的通配符 % 不會自動授予遠端存取權限。要遠端連接,需要執行以下步驟:
將MySQL 綁定到機器的IP 位址: 在my.cnf 中設定MySQL 將連接埠3306 綁定到您機器的IP 位址(或Windows 上的my.ini)為如下所示:
bind-address = xxx.xxx.xxx.xxx
在本機和通配符中建立使用者:使用下列指令在本機主機和%通配符主機中建立使用者:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
授予權限: 從本地主機和通配符授予使用者所有資料庫的完全權限:
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%'; FLUSH PRIVILEGES;
其他注意事項
使用以下指令測試遠端連線:
mysql -h <hostname> -u myuser -pmypass
以上是為什麼MySQL的通配符主機「%」不自動授予遠端存取權限?的詳細內容。更多資訊請關注PHP中文網其他相關文章!