問題描述:想在遠程主機訪問本機的MySql時,總是無法連接。本機也只能用localhost和127.0.0.1訪問,不可以用192.168.*.*等IP訪問。
解決方案:cmd下連接到mysql,執行一下命令: grant all privileges on *.* to root@'%' identified by 'your root password';
返回信息:Query OK, 0 rows affected (0.03 sec)
之后就遠程主機就可以正常連接本機的MySql了。
關於這條命令啥意思,大家自己百度下吧。
過程說明:首先,遠程主機無法訪問本機服務,情況可能是有很多的,如防火牆、網絡不通等原因。這些本文都不做考慮。
在沒有執行上面的命令之前,在MySql下的“mysql”數據庫下,有個“user”表,里面有如下數據(見圖):

執行命令之后,“user”表增加了一條數據(見圖):

當然,用戶可以是自己另外新建的用戶,不一定非得root。
剛開始一直出錯,是因為使用了這個命令: grant all privileges on *.* to root@'%'; ---->后面沒有加 identified by 'your root password'
錯誤信息:ERROR 1133 (42000): Can't find any matching row in the user table
完畢!
