MySQL无法远程访问多半是我配置不正确,如果默认连接是localhost是你是无法使用IP连接你远程mysql服务器的,但我们只要简单配置开一下权限即可解决.
问题: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-uroot-p123
- mysql>usemysql;
- mysql>updateusersethost='%'whereuser='root';
- mysql>selecthost,userfromuser;
如果想指定主机可以方法我们可以绑定,想指定1个IP远程访问mysql,已经在本地执行了,代码如下:
- mysql>GRANTALLPRIVILEGESON.TOuser1@"192.168.1.3"IDENTIFIEDBY"mypassword"WITHGRANTOPTION;
- mysql>FLUSHPRIVILEGES;--phpfensi.com
且本地防火墙已打开了mysql端口,为什么在远程用$mysql -h192.168.1.2 -u user1 -p无法访问呢?