一、作为主服务器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通信
[root@localhost bin]# firewall-cmd --permanent --add-port=3306/tcp
success
[root@localhost bin]# firewall-cmd --reload 
success

2)从服务器配置
slave的/etc/my.cnf

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
server_id =
socket = /usr/local/mysql/mysql.sock
log-error = /usr/local/mysql/data/mysqld.error
relay-log = /usr/local/mysql/data/relay-log-bin
relay-log-index = /usr/local/mysql/data/slave-relay-bin.index

注:server_id 要唯一,不能和其他 mysql 主机的重复
在master主机把主 mysql 生成的证书给了从服务器

cd /usr/local/mysql/data/

scp ca.pam client-cert-pem client-key.pam root@192.168.41.20:/usr/local/mysql/data/

设置 slave client-key.pem 的 r 权限

chmod +r client-key.pam

ls -l client-key.pam

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

ssl-ca = /usr/local/mysql/data/ca.pam

ssl-cert = /usr/local/mysql/data/client-cert.pam

ssl-key = /usr/local/mysql/data/client-key.pam

重启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主从复制的更多相关文章

  1. Mysql的ssl主从复制+半同步主从复制

    Mysql的ssl主从复制+半同步主从复制 准备工作 1.主从服务器时间同步 [root@localhost ~]# crontab -e */30 * * * * /usr/sbin/ntpdate ...

  2. mysql的主从复制是如何实现的

    前言 MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为 ...

  3. mysql数据库主从复制部署笔记

    主从复制是mysql中数据库实时同步的一个常用做法了,今天我来给各位介绍一下关于mysql数据库主从复制部署一个过程,希望此例子对各位同学参考参考. 数据库主从复制原理: 数据库的主从复制就是从mas ...

  4. mysql之主从复制

    原理--> 在数据库层面,复制语句或者行,因为在数据库层面,故只有主服务器生成,并放到二进制日志里面,才能复制给从服务器. 原理--> mysql的主从复制基于异步,主要有三个进程执行,分 ...

  5. Mysql中主从复制的原理、配置过程以及实际案例

    Mysql中主从复制的原理.配置过程以及实际案例1.什么是主从复制?原理:主从分离,什么意思呢?我们不妨画个图看看.如图1所示: 2.准备工作:预备两台服务器,我这里使用虚拟机安装了两个Centos6 ...

  6. mysql简单主从复制(一)

    MYSQL简单主从复制 master:172.25.44.1 slave:172.25.44.2 mysql5.7安装 master和slave均操作 准备rpm包:mysql-5.7.17-1.el ...

  7. Mysql数据库主从复制搭建

    Mysql数据库主从复制原理: 主库开启bin-log日志,同时生成IO线程.IO线程负责将用户写入数据库的sql语句记录在二进制日志bin-log,该记录过程可并发进行:生成标识号 server i ...

  8. liinux安装 mysql 及主从复制

    mariadb其实就是mysqlmysql已经被oracle收购,它即将闭源,马上要开始收费了因此还想免费试用开源的数据库mysql,就在centos7上,将mysql分支为mariadb 安装mar ...

  9. mysql (主从复制)(proxy , Amoeba)

    原址如下: http://heylinux.com/archives/1004.html Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中 ...

随机推荐

  1. JS canvas标签动态绘制图型

    使用canvas标签动态绘制图型,当点击鼠标时,以鼠标点击的坐标作为图形中心点.当点击数为偶数时画三角形,当点击数为奇数时画五角星 <!DOCTYPE HTML> <html> ...

  2. Hadoop 和 MPP 的比较

    如果我们回顾5年前会发现,那就是当时Hadoop不是大多数公司的选择,特别是那些要求稳定和成熟的平台的企业. 在这一刻,选择非常简单:当您的分析数据库的大小超过5-7 TB时,您只需启动MPP迁移项目 ...

  3. zookeeper原理与安装

    Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.   Zookerper工作机制 2.   Zookeeper工作特点 3.   Zookeeper文件系统: ...

  4. day_7数据类型的相互转换,与字符编码

    首先复一下昨天的内容 1:深浅拷贝 1:值拷贝 直接赋值 列表1=列表2       列表1中的任何值发生改变,列表2中的值都会随之改变 2:浅拷贝,列表2=列表1  列表1中存放的值的地址没有改变, ...

  5. 2017-12-04 编写Visual Studio Code插件初尝试

    参考官方入门: Your First Visual Studio Code Extension - Hello World 源码在: program-in-chinese/vscode_helloWo ...

  6. package-lock.json,我们应该了解

    原谅我占2017年12月31日一个坑,后续补上

  7. Android之Activity系列总结(二)--任务和返回栈

    任务和返回栈 应用通常包含多个 Activity.每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他 Activity. 例如,电子邮件应用可能有一个 Activity 显示 ...

  8. Java 虚拟机的垃圾回收

    背景 垃圾收集(Garbage Collection,GC),GC的历史比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言. 对于Java来说,运行时区域 ...

  9. Metasploit Framework(3)Meterpreter

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 Meterpreter:是一种高级的,动态的,可拓展的 ...

  10. SpringCache学习实践

    1. SpringCache学习实践 1.1. 引用 <dependency> <groupId>org.springframework.boot</groupId> ...