mysql外网连接设置



1:检查防火墙,允许mysql数据库 3306端口可以放行访问,或者直接关闭防火墙

2:找到MySQL的配置文件,路径/etc/mysql/my.cnf
     找到 bind-address  =127.0.0.1  将其注释掉;//作用是使得不再只允许本地访问;

    或者 你想指定的公网IP     
代码: bind_address=0.0.0.0

    重启mysql:/etc/init.d/mysql restart;

3:登录mysql数据库:mysql -u root -p
    mysql> use mysql;

    查询host值:
mysql> select user,host from user;



如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以执行:
mysql>grand all privileges on  *.*  to root@'%'  identifies  by ' xxxx';


其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;


4.最简单的方法:注册一个花生壳软件http://jingyan.baidu.com/article/5bbb5a1b3f871613eaa17948.html

花生壳支持动态域名解析!!  将花生壳指向你外网的IP地址

路由器在做一下端口转发(MYsql的端口) 这样外网就可以访问内网的MYsql数据库了