设置允许外网访问MySQL数据库【Linux】

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

重启mysql:/etc/init.d/mysql.server restart
注:不同的服务器配置不一样

2:登录mysql数据库:mysql -u root -p

# 使用mysql数据库
mysql> use mysql;

# 查询host值:
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@'%'  identifies  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;

猜你喜欢

转载自blog.csdn.net/fmwind/article/details/82225513