問題:MySQL權限設置正確,但仍無法遠程訪問。通過telnet發現3306端口未打開。
分析:MySQL默認只綁定127.0.0.1,即:只有在本機才能訪問3306端口。
linux中
解決:找到MySQL配置文件,搜索“bind-address”,找到這一行:
bind-address = 127.0.0.1 //這裡可以綁定遠程IP地址
在前面加一個#,注釋掉這一行,保存,重啟MySQL。再通過遠程訪問就可以了,telnet可以發現端口也打開了。
1。 改表法。
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 數據庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
代碼如下 復制代碼CODE:mysql -u root -p123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
如果想指定主機可以方法我們可以綁定
想指定1個IP遠程訪問mysql,已經在本地執行了
代碼如下 復制代碼mysql>GRANT ALL PRIVILEGES ON . TO user1@"192.168.1.3" IDENTIFIED BY "mypassword" WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
且本地防火牆已打開了mysql端口,為什麼在遠程用$mysql -h192.168.1.2 -u user1 -p
無法訪問呢?