MySQL主从,双主,半同步及SSL复制

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:























1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
1. 主从复制 (主写从读)
     主服务器:
         1、改server- id  配置文件中
         server- id        = 10
         2、启用二进制日志 与数据目录分离与权限
         log-bin= /tmp/binlogs/mysql-bin
         3、创建有复制权限的帐号
         grant replication client, replication slave on *.* to repl@ '172.16.%.%'  identified by  'repl' ;
         flush privileges;
.
     从服务器:
         1、改server- id  配置文件中
         server- id        = 200
         2、启用中继日志
         relay-log= /tmp/relaylogs/relay-bin
         # 关闭二进制日志     
         3、连接主服务器
         change master to master_host= '172.16.43.200' ,master_user= 'repl' , master_password= 'repl' , master_log_file= 'mysql-bin.000001' , master_log_pos=312;
         4、启动复制线程
         start slave;
.
     使用场景:
         常见,适合于多重应用场景,从服务器位置的变化而变化
.
     主从复制演进
         --多从复制(演进多个从服务器,从服务器server- id 一定要不一样)
         使用场景: 1 台远程容灾  1 台关键本地主备  1 台开发测试学习之用
.
2. 双主复制 (互为主从,可读可写)
     配置注意:
         service- id  不可相同
         均开启二进制日志与中继日志
         log-bin= /data/binlogs/mysql-bin
         relay-log= /data/relaylogs/relay-log
         均授权复制账号给对方
         grant replication client, replication slave on *.* to repl@ '172.16.%.%'  identified by  'repl' ;
         flush privileges;
         均连接对方服务器
         change master to master_host= '172.16.43.200' ,master_user= 'repl' , master_password= 'repl' , master_log_file= 'mysql-bin.000001' , master_log_pos=312;
         均启动复制线程
         start salve;
.
         *** 自动增长列的配置要隔开
         auto-increment-offset = 1
         auto-increment-increment = 2
         *** 数据不一致时,需要手动同步(利用二进制)
.         
     使用场景:
         远程办公,两地职权相等
.
     双主复制演进
         --多源复制  -- mysql 5.6
             多源需要加入不同的connection_name
             例: change master  'connection_name'  ...
             多源复制操作需要在不同库之间操作
             使用场景:
                 数据收集,中央集权式
.
         --环形复制
             注意双主模型的配置即可
.
3. GTID主从 -- mysql 5.6+  MariaDB 10.0+
     配置过程
         主服务器:
             1. 配置文件中新增
             log-slave-updates= true
             master-info-repository=TABLE
             relay-log-info-repository=TABLE
             sync -master-info=1
             slave-parallel-threads=2
             binlog-checksum=CRC32
             master-verify-checksum=1
             slave-sql-verify-checksum=1
             binlog-rows-query-log_events=1
             report-port=3306
             report-host=master.king.com
             2. 创建有复制权限的帐号
             grant replication client, replication slave on *.* to repl@ '172.16.%.%'  identified by  'repl' ;
             flush privileges;
.
         从服务器:
             1. 配置文件中
             与主服务器无异,唯一不同server- id
             2. 连接主服务器
             change master to master_host= '172.16.43.200' , master_port=3306, master_user= 'repl' , master_use_gtid=cuurent_pos;
             3. 启动从服务器
             start slave;
.
4. 半同步复制 (在一主多从的场景中,多从的一致复制状态回馈变成了不小的延迟
     为了解决这个问题,出现了半同步的快速响应)
.
     主服务器:
         install  plugin rpl_semi_sync_master soname  'semisync_master.so' ;
         show global variables like  '%semi%' ;
         set  global rpl_semi_sync_master_enabled=ON;
         set  global rpl_semi_sync_master_timeout=1000;
.
     从服务器:
         install  plugin rpl_semi_sync_slave soname  'semisync_slave.so' ;
         set  global rpl_semi_sync_slave_enabled=ON;
         stop slave;
         start slave;
.
     在主服务器验正半同步复制是否生效:
         show global status like  '%semi%' ;
.
     使用场景:
         适合高并发快速响应用户的环境
.
5. 多级复制 (中间节点必须开启二进制日志与中继日志)
     多级复制演进
         --多级分发复制
         中间分发节点的库类型为blackhole,仅保存二进制,为其他从复制节点做分发
.
6. 安全复制 (主服务器(CA)开启需求验证,客户端发送由服务器颁发的证书)
     主服务器:
         1. 配置文件中加入
             ssl-ca= /usr/local/mysql/ssl/cacert .pem
             ssl-cert= /usr/local/mysql/ssl/master .crt
             ssl-key= /usr/local/mysql/ssl/master .key
         2. 配置文件注意修改 server- id
         3. 登陆服务器并授权
             grant replication client, replication slave on *.* to repl@ '172.16.%.%'  identified by  'repl'  require ssl;
             flush privileges;
.
     从服务器:
         1. 配置文件中
             与主服务器无异,不同是server- id 与证书信息
         2. 连接服务器时指明证书信息
             change master to master_host= '172.16.43.200' ,master_user= 'repl' , master_password= 'repl' , master_log_file= 'mysql-bin.000001' , master_log_pos=312, master_ssl=1, master_ssl_ca= '/usr/local/mysql/ssl/cacert.pem' ,master_ssl_cert= '/usr/local/mysql/ssl/slave.crt' ,master_ssl_key= '/usr/local/mysql/ssl/slave.key' ;
         3. 启动服务器
             start slave
.
     测试:
         查看ssl状态在主从上
             show slave status\G  -> ssl这些项
         使用mysql --ssl-ca= /path  --ssl-cert= /path  --ssl-key= /path 信息登陆主服务器





     本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1396672 ,如需转载请自行联系原作者




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Kubernetes Cloud Native 关系型数据库
提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
【4月更文挑战第9天】提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
53 0
|
1月前
|
canal 关系型数据库 MySQL
cancal 同步mysql数据到es中
cancal 同步mysql数据到es中
45 1
|
2月前
|
关系型数据库 MySQL
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
26 0
|
14天前
|
运维 DataWorks 关系型数据库
DataWorks产品使用合集之DataWorks还有就是对于mysql中的表已经存在数据了,第一次全量后面增量同步的步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
28 2
|
15天前
|
DataWorks 关系型数据库 MySQL
DataWorks产品使用合集之在DataWorks中,要实现MySQL数据源的增量同步如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
39 2
|
2天前
|
关系型数据库 MySQL Linux
服务器Linux系统配置mysql数据库主从自动备份
这是一个基本的配置主从复制和设置自动备份的指南。具体的配置细节和命令可能因您的环境和需求而有所不同,因此建议在操作前详细阅读MySQL文档和相关资源,并谨慎操作以避免数据丢失或不一致。
11 3
|
4天前
|
关系型数据库 MySQL Linux
本地虚拟机centos7通过docker安装主从mysql5.7.21
本地虚拟机centos7通过docker安装主从mysql5.7.21
12 0
|
8天前
|
关系型数据库 MySQL 数据库
MySQL集群 双主架构(配置命令)
MySQL集群 双主架构(配置命令)
|
14天前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
30 0
|
14天前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之在 DataWorks 中使用数据集成从 MySQL 导入数据到 GDB 执行同步任务脚本的步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0