配置MySQL允许外网访问


修改MySQL的配置文件

/etc/mysql/my.cnf

找到一句bind-address=127.0.0.1将其注释掉;

作用是使得不再只允许本地访问;

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

设置MySQL中数据库的权限

登录数据库

mysql -u root -p
// 输入密码
use 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 'xxxx';

其中,*.* 的意思是,第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样*.*的话表示所有的数据库下的所有表都允许访问

'%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;

后面的'xxxx'为root 用户的password;

例如:
任意主机以用户root和密码mypwd连接到mysql服务器

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;

IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器

mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION; 
mysql> flush privileges;

-------------本文结束感谢您的阅读-------------
0%