专栏首页L宝宝聊IT基于SSL安全连接的的主从复制

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

由于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 加密可以大大提高数据的安全性。

本文分享自微信公众号 - L宝宝聊IT(gh_b0e552aa80db)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL数据库系统

    L宝宝聊IT
  • CentOS7.2安装Mysql5.7.13

    (4)更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。

    L宝宝聊IT
  • MySQL主从复制与读写分离

    L宝宝聊IT
  • ProxySQL简介原理及读写分离应用

    https://www.cnblogs.com/you-men/p/12838333.html

    常见_youmen
  • MySQL的安装步骤

    MySQL5.6.43下载地址:链接: https://pan.baidu.com/s/140YxXOMwNh5EkzMb9wcHhg 提取码: 2333

    GhostCN_Z
  • MySQL Group Replication的安装部署

    这次给大家介绍下MySQL官方最新版本5.7.17中GA的新功能 Group Replication 。

    py3study
  • mysql proxysql+mgr集群 centos7系统安装配置

    wget https://codeload.github.com/sysown/proxysql/tar.gz/v1.4.4

    zhangdd
  • PHP学习笔记(2)--PHP数据库操作基本知识

    耕耘实录
  • CentOS6.5下安装mysql5.1

    Coxhuang
  • CentOS安装mysql

    第二步,进入/usr/local/soft/目录,在里面执行wget 下载链接命令,或者是先下载到windows然后通过xftp上传到CentOS的该目录下,然...

    编程思录

扫码关注云+社区

领取腾讯云代金券