笔者在一个实际的项目中需要MYSQL远程访问.
情景: 安装好Mysql, 本地访问正常,很奇怪局域的机器都无法访问该服务器上的MYSQL数据库.
经过资料查找
原来Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 .
在MySQL Server端:
登陆MYSQL ..bin\ mysql -h localhost -u root -p
提示你输入密码,输入密码后进入
mysql 命令模式,
mysql> use mysql;
mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
在服务器上,使用IP地址和新的用户,确实可以访问服务器,但是远程机器还是无法访问到该MYSQL.
经过关闭服务器上防火墙,噢, MYSQL是可以访问拉.但是从安全角度出发,是不允许关闭防火墙的.
解决方法:
1,控制面板 打开防火墙,在进入规则中新建一个规则.
2. 选择端口,然后下一步
3.选择TCP 端口,填 80,3306 端口号 按下一步
4. 选择允许所有连接
5 下一步全选.
具体范例见http://maximumpcguides.com/windows-7/open-a-port-in-windows-7s-firewall/
至此你可以用新的用户远程访问你的MYSQL数据