目录:
【0】需求
目前使用Mysql数据库,100GB+数据量,需要实现1主3从环境。
需要实现SSL安全复制,同时需要测试异常宕机切换演练
【1】实验环境
数据库架构:主从复制,基于主库搭建3个从库,采用Xtrabackup + GTID + 无损同步复制
【2】配置主从
【2.0】配置文件 my.cnf(/etc/my.cnf)
【2.1】主库创建复制用户并授权
【2.2】主库准备测试数据
【3】搭建主从
【3.1】查看备份截止的GTID
【3.2】主从配置
【3.3】核验
【4】配置 SSL 安全协议
#【4.1】在主服务器上面创建 ssl/rsa 文件
#【4.2】在主服务器上修改my.cnf,并重启mysql
#【4.3】在主服务器上创建一个 SSL 认证的复制用户
#【4.4】在从服务上开启SSL功能
#把主服务生成的证书传给从服务器(在主服务器上执行)
#【4.5】修改从服务的配置文件
#【4.6】测试 SSL 连通性
#【4.7】在从库配置基于 SSL 的主从
#【4.8】测试 SSL 复制及数据验证
【5】故障切换
情况思路:
当主库(201)宕机了,暂时不能修复。
先找一台从库(比如202)来当主库,所有从库重新执行新主库(202)。
如果原主库(201)修好了,那么把它当做一个新从库使用,执行新主库(202)。
【5.1】模拟主库宕机
【5.2】检查从库状态
【5.3】切换步骤(把 192.168.1.202 做新主库)
#【5.3.1】确保所有的relay log 全部读取完毕
#【5.3.2】对新主库 192.168.1.202 进行配置
#【5.3.3】在新主库(202)上查看是否有复制用户,没有则新建
#【5.3.4】配置另外2台从库(203~204)到新主库(202)
#在203,204机器上操作
#【5.3.5】校验
#【5.3.6】在新主库中开启事件
#【5.3.7】通知业务,调整数据库IP
正文:
【0】需求
目前使用Mysql数据库,100GB+数据量,需要实现1主3从环境。
需要实现SSL安全复制,同时需要测试异常宕机切换演练
【1】实验环境
操作系统:CentOS 7.5
数据库版本:MySQL 5.7.24
数据库架构:主从复制,基于主库搭建3个从库,采用Xtrabackup + GTID + 无损同步复制
主库IP:192.168.1.201 port:3306
主库IP:192.168.1.202 port:3306
主库IP:192.168.1.203 port:3306
主库IP:192.168.1.204 port:3306
大致步骤思路:
(1)配置好主从
(2)配置好SSL
(3)故障切换演练
【2】配置主从
【2.0】配置文件 my.cnf(/etc/my.cnf)
#replication_new
log_bin=/mysql/log/3306/mysql-bin #开启binlog
log_bin_index=/mysql/log/3306/mysql-bin.index
binlog_format=row
binlog_rows_query_log_events=on
max_binlog_size=2048bind-address=0.0.0.0server_id=2013306 #务必记得修改expire_logs_days=7#超过7天的binlog清理
innodb_support_xa=1binlog_cache_size=1M
log_bin_trust_function_creators=1#同步存储过程、函数、触发器
innodb_flush_log_at_trx_commit=1sync_binlog=1transaction-isolation=read-committed
#slave parameter 如果是从库,务必放开
#relay_lo