CentOS和Windows下配置MySQL远程访问的教程

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数据库下.

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数据库下.

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 测试连接.

posted @ 2019-01-06 06:10  中国人醒来了  阅读(630)  评论(0编辑  收藏  举报