怎样设置才能允许外网访问MySQL
设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:设置mysql的配置文件
/etc/mysql/my.cnf
找到bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysqlrestart;
2:登录mysql数据库:mysql-uroot-p
mysql>usemysql;
查询host值:
mysql>selectuser,hostfromuser;
如果没有"%"这个host值,就执行下面这两句:
mysql>updateusersethost='%'whereuser='root';
mysql>flushprivileges;
或者也可以执行:
mysql>grandallprivilegeson *.* toroot@'%' identifies by'xxxx';
其中第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样*.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root用户的password;
举例:
任意主机以用户root和密码mypwd连接到mysql服务器
mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'mypwd'WITHGRANTOPTION;
mysql>flushprivileges;
IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器
mysql>GRANTALLPRIVILEGESON*.*TO'myuser'@'192.168.1.102'IDENTIFIEDBY'mypwd'WITHGRANTOPTION;
mysql>flushprivileges;