mysql+ssl主从复制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql+ssl主从复制相关的知识,希望对你有一定的参考价值。

主从复制原理
技术分享图片

  1. 作为主服务器Master, 会把自己的每一次改动都记录到 二进制日志 Binarylog 中。 (从服务器I/O thread会负责来读取master binary log, 然后写入自身relay log中然后在用自身的sql thread读取relay log并在自身服务器执行一遍。)
    到这里主服务器上的更改就同步到从服务器上了。

环境:
|centos7| master | slave |

mysql5.7 | 192.168.41.10 | 192.168.41.20 |

1、实现基于 ssl 安全连接的主从复制
1) 在主 mysql 创建 SSL/RSA 文件
技术分享图片
技术分享图片
技术分享图片
注:启用 mysql 支持 ssl 安全连接主要用于 mysql 主从复制(局域网可以非 ssh 连接即明文
复制,但 internet 复制建议采用 ssl 连接)
在主 mysql 上的操作完成,再生成一个复制帐号:REQUIRE SSL
mysql>grant replication slave on . to ‘rep‘@‘192.168.41.%‘ identified by ‘123456‘ require ssl;


在master上启用二进制日志并重启mysql服务
vim /etc/my.cnf
添加log-bin = mysql-bin
systemctl restart mysqld
技术分享图片
防火墙规则3306/tcp通信
[[email protected] bin]# firewall-cmd --permanent --add-port=3306/tcp
success
[[email protected] bin]# firewall-cmd --reload
success

2)从服务器配置
slave的/etc/my.cnf
技术分享图片
注:server_id 要唯一,不能和其他 mysql 主机的重复
在master主机把主 mysql 生成的证书给了从服务器
技术分享图片

设置 slave client-key.pem 的 r 权限
技术分享图片
继续在从上配置 SSL:修改/etc/my.cnf 文件,添加如下内容
技术分享图片
重启mysqld服务
systemctl restart mysqld
ss -napt |grep 3306
进入mysql查看ssl是否持久化
技术分享图片
那么在配置主从复制之前可以在从 mysql 上用 SSL 连接主服务器试试:
技术分享图片
技术分享图片
SSL 测试连接成功,并且登入的 SSL 协议是: Cipher in use is DHE-RSA-AES256-SHA
最后开始配置主从 replicate, 登录slave mysql
在从上 change master to
技术分享图片
start slave 启动从同步进程:
查看从的状态,以下两个值必须为 yes,代表从服务器能正常连接主服务器
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
技术分享图片

测试:
master:
技术分享图片
slave:
技术分享图片
注意:
主从同步slave同步master,master不同步slave
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security, TLS)
是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过
SSL 加密可以大大提高数据的安全性。

以上是关于mysql+ssl主从复制的主要内容,如果未能解决你的问题,请参考以下文章

mysql基于SSL实现主从复制

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

MySql之基于ssl安全连接的主从复制

mysql基于ssl的主从复制

基于 SSL 实现MySQL主从复制

mysql+ssl主从复制