試試看
1.設定遠端使用者訪問許可權:
// 任何遠端主機都可以訪問資料庫
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
//需要輸入次命令使修改生效
mysql> FLUSH PRIVILEGES;
//退出
mysql> EXIT
同樣提錯 ERROR 2003 (HY000): Can't connect to MySQL server,在本機測試登入都正常,但遠端就不行登入了
如果同樣區網
同一個區網的電腦 訪問到你的區網IP mysql嗎?
如果不是同一個區網
是跨外網
你的IP是Public IP嗎?
你的Firewall有開port 給這台電腦嗎?
你的貼圖
只能表示 同一個區網電腦透過區網IP訪問可以連線你的資料庫
如果是不同地方的遠端
那一定會關係到你的硬體防火牆
但你並沒有提這部分
如果你不是網路管理員,那基本上是沒辦法成功的。
除非你是直接把實體IP直接給這台電腦使用。
但這太不安全了。
你是下
GRANT ALL PRIVILEGES ON . TO 'admin
'@'%'WITH GRANT OPTION;
還是下
GRANT ALL PRIVILEGES ON . TO 'root
'@'%'WITH GRANT OPTION;
如果你是下 root
就改成 admin 試試看
因為你是用 admin 而非 root 連線
從錯誤訊息來看,你是連進來這台機器都不能。
先確定你的 host 可以在其它機器取得正確的IP指向。
在檢查網路連結是否可以正常。
一般來說下
telnet 你的HOST 3306
先看看有無正常的回應值。
記得。HOST需要是是真正的IP。而不是 localhost 或是 127.0.0.1 這種魔術IP。
試到正常連線或是出現權限錯誤的問題。才開始去處理權限的問題。
目前是連連結都連不到,再怎麼處理權限問題也沒用。
我之前是修改了my.cnf檔的內容,加了如下設定:
bind-address = 0.0.0.0 //允許任意IP連線
如果是Windows版的MySQL,則要修改my.ini檔。