您的位置:首页 > 运维架构 > Linux

CentOS 和Windows 下配置MySQL远程访问

2017-12-04 20:42 309 查看

一.前言

由于实验在云服务器上跑的结果不是很理想.所以,现在切换到局域网服务器.因此,需要重新配置 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 测试连接.

参考文献

CentOS7-MySQL安装与远程访问

centos7下使用yum安装mysql并创建用户,数据库以及设置远程访问

windows下远程连接Mysql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: