- CentOS和Windows下配置MySQL远程访问的教程
一.前言
由于实验在云服务器上跑的结果不是很理想.所以,现在切换到局域网服务器.因此,需要重新配置 Windows 服务器和 CentOS 服务器下的MySQL环境.
为了方便在本地Navicat 上操作服务器上的数据库,需要在服务器上配置远程访问.
二.实验环境
Windows 10 CentOS 7.4
三.配置
1. Windows 下配置
配置指定数据库可被指定用户远程连接.
指定数据库为papertest,
指定用户:dancy,密码:xxx
1.1 使用CREATE DATABASE papertest,新建papertest数据库.
1.2 切换到MySQL服务器的mysql数据库下.
1.3 使用GRANT ALL PRIVILEGES ON papertest.* TO 'dancy'@'%' IDENTIFIED BY 'xxx' WITH GRANT OPTION;命令可以更改远程连接的设置.
1.4 使用flush privileges;命令刷新刚才修改的权限,使其生效.
1.5 使用select host,user from user;查看修改是否成功。
1.6 解决防火墙问题
win7及以上添加防火墙例外端口:
控制面板-防火墙设置-高级设置-入站规则设置
第一步 选择 入站规则 然后 新建规则,选择 端口,然后下一步
第二步 选择TCP 选择特定端口 然后输入端口,如有多个端口需要用逗号隔开了 例如: 3306
第三步 选择允许连接
第四步 选择配置文件
第五步 输入规则名称 mysqlport
ok.
本地使用Navicat 测试连接.
2. CentOS 下配置
配置指定数据库可被指定用户远程连接.
指定数据库为papertest,
指定用户:dancy,密码:xxx
2.1 安装Mysql,网上教程很多,此处跳过,详细可参照参考文献.
2.2 使用CREATE DATABASE papertest,新建papertest数据库.
2.3 切换到MySQL服务器的mysql数据库下.
2.4 创建用户dancy,并授权.
mysql> grant all privileges on papertest.* to ‘dancy’@’%’ identified by ‘xxx’
授予dancy用户所有访问权限,papertest.*代表papertest数据库的任意表,%代表任意ip地址,通过xxx密码来访问(这里也可以直接授予root用户这种权限)
授权完成后刷新一下才生效.
mysql> flush privileges;
2.5 开放MySQL的 3306 端口.
[root@xxx]#firewall-cmd –zone=public –add-port=3306/tcp –permanent
出现success即开放成功,然后重启防火墙
[root@xxx]systemctl restart firewalld.service
注:centos 7.4 下不再有iptables文件,故配置规则与以往不同.
ok.
本地使用Navicat 测试连接.