前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于SSL安全连接的的主从复制

基于SSL安全连接的的主从复制

作者头像
L宝宝聊IT
发布2018-08-16 10:32:07
1.1K0
发布2018-08-16 10:32:07
举报
文章被收录于专栏:L宝宝聊ITL宝宝聊ITL宝宝聊IT

由于mysql的主从复制是明文传送的,但如果在生产环境中跨网络我们使用的主从复制还是明文传送的话,就保证不了数据的安全性,为了解决这一问题,我们需要加密进行传送,也就是基于SSL的加密方法进行传输数据。

实验环境:

首先准备两台mysql5.7数据库,一台为主master,一台为从slave服务器(安装mysql5.7的三种方法,上次已经说了。也可以到L宝宝聊IT公众号或博客园中找“CentOS7.2安装Mysql5.7.13”文档)

实验步骤:

1、在主 mysql 创建SSL/RSA 文件

# cd /usr/local/mysql/bin ——切换目录

#mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data ——创建新的 SSL 文件

重启mysqld 服务

#systemctl restart mysqld

发现mysql启动失败,查看错误日志

报错信息显示是不能获得私钥,执行 ls 查看 server-key.pem

发现没有 r 权限,添加 r 权限

重启mysql 服务,这时错误日志中就没有报错了

登录mysql,执行

mysql> show variables like '%ssl%';

从上图可以看到 mysql 支持了 ssl 安全连接

注:启用mysql 支持 ssl 安全连接主要用于 mysql 主从复制(局域网可以非 ssh 连接即明文复制,但 internet 复制建议采用 ssl 连接)

在主mysql 上的操作完成,再生成一个复制帐号:REQUIRE SSL

在主mysql 上启用二进制日志并重启 mysql 服务

添加下面的配置项

重启服务

#systemctl restart mysqld

查看主mysql 的状态

注:要记住上图所显示的 file 和 position 的值,配置从服务器要用到。

防火墙允许 3306/tcp 通信或直接关闭(systemctl stop firewalld.service)

2、从服务器的配置

(1)修改从 mysql 的/etc/my.cnf 文件内容,如下图:

注:server_id要唯一,不能和其他 mysql 主机的重复

(2)返回主mysql(master),把主mysql 生成的证书给了从服务器

注:192.168.1.106是从 mysql 的 IP 地址

(3)查看从 mysql 复制过来的证书

设置client-key.pem 的 r 权限

(4)继续在从上配置 SSL:修改/etc/my.cnf 文件,添加如下内容

重启mysqld 服务

查看mysqld.err 是否有错误日志

(5)查看 SSL 是否被支持:

(6)在配置主从复制之前可以在从 mysql 上用 SSL 连接主服务器试试:

注:192.168.1.108是主 mysql 的 ip 地址

SSL 测试连接成功,并且登入的 SSL 协议是: Cipher in use is DHE-RSA-AES256-SHA

(7)最后开始配置主从 replicate, 登录从 mysql

在从上change master to

启用从

查看从的状态,以下两个值必须为 yes,代表从服务器能正常连接主服务器

Slave_IO_Running:Yes

Slave_SQL_Running:Yes

3、测试:

在主mysql 上:

从服务器上:

测试同步成功,以上基于ssl安全连接的主从复制搭建完成。

SSL(SecureSockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过SSL 加密可以大大提高数据的安全性。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 L宝宝聊IT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档