Linux下Mysql设置外网可以访问
1:设置mysql的配置文件
/etc/mysql/my.cnf 或 /etc/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql restart; 或 sudo service mysql restart;
2:修改账户允许访问的地址
登录mysql数据库:mysql -u root -p 输入密码
mysql> use mysql;
mysql> select user,host from user;
如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以执行:
mysql>grant all privileges on *.* to root@'%' identified by 'root';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
3 : 防火墙原因
有些机器默认开了防火墙,也有可能导致外部机器不能访问3306端口,以Ubuntu为例,可以通过iptables修改防火墙配置
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
编辑iptables,新增上面一条记录。根据不同系统或版本差异,更详细的修改方法可以上网搜索查找。
网友评论