(5.9)mysql高可用系列——正常主从切换测试
【0】实验环境
操作系统:CentOS linux 7.5
数据库版本:5.7.24
数据库架构:主从复制,主库用于生产,从库用于数据容灾和主库备机,采用默认传统的异步复制。
主库IP:192.168.1.201 端口:3306
从库IP:192.168.1.202 端口:3306
【1】主从切换
主从配置文件参数
(1)主库要把自 #slave replication 行下面的所有配置注释掉(其实主库也可以全部开启)
(2)从库可以把所有参数都开启
#replication_new
log_bin=/mysql/log//binlog/mysql-bin #开启binlog
log_bin_index=/mysql/log//mysql-bin.index
binlog_format=row
binlog_rows_query_log_events=on
max_binlog_size= bind-address=0.0.0.0
server_id= #注意,这里从库的server_id和主库一定不能一样
expire_logs_days= #超过7天的binlog清理
innodb_support_xa=
binlog_cache_size=1M
log_bin_trust_function_creators= #同步存储过程、函数、触发器
innodb_flush_log_at_trx_commit=
sync_binlog=
transaction-isolation=read-committed
#增加的GTID参数
gtid_mode=on
enforce_gtid_consistency=1 #on:当发现语句/事务不支持GTID时,返回错误信息
log-slave-updates=1
binlog_gtid_simple-recovery=1 #5.7.6以下默认为off,5.7.6以上默认为on
#slave replication ----从这行起,下面的所有行,在主库注释掉
relay_log=/mysql/log//relaylog/mysql-relay.log
log-slave-updates=
#read_only=1 --主库要注释掉,从库最好放开
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers= master_info_repository=table #master_info 会记录到 mysql.slave_master_info
relay_log_info_repository=table #relay_log 会记录到,mysql.slave_relay_log_info
relay_log_recovery=
slave_skip_errors=ddl_exist_errors
slave_preserve_commit_order=
操作设置
【1.1】主从都需要开二进制日志,切换的时候,确认从库的数据时最新的
-- 主库:192.168.1.201
set global read_only=1; -- 主库设置全局只读模式。
flush logs; -- 刷新日志(binlog)
show master status; -- 查看binlog状态,记录日志文件名和位置点pos 【1.2】确认从库202应用完了所有的中继日志
-- 从库:192.168.1.202
show slave status\G -- 或者也可以show processlist;查看
-- or select master_pos_wait(file,post); -- 用主库的文件在备库上查询,差距为0即为同步
stop slave;
reset master;
reset slave; -- 删除从数据库的中继日志文件,并且启用新的中继日志文件以及 重置change master信息
-- 不清理掉,下次重启服务还会开启从线程,把自己当从库做。
show master status; -- 记录binlog状态,记录日志文件名和位置点pos 【1.3】如果从库202上没有复制账户,需要创建 【1.4】主库201上,也需要清理相关的master和slave信息
reset master;
reset slave;
show master status; 【1.5】主从库的配置相关参数要改变启用
主库:201
cp /mysql/data/3306/my.cnf /mysql/data/3306/my.cnf.master
vi /mysql/data/3306/mysql.cnf 从库:202
cp /mysql/data/3306/my.cnf /mysql/data/3306/my.cnf.slave
vi /mysql/data/3306/mysql.cnf
service mysql restart 【1.6】new_slave 201 连接 new master 202
new从库:201
mysql -uroot -p123456 change master to
master_host='192.168.1.202',
master_port=3306,
master_user='rpl',
master_password='123456'
master_auto_position=1; start slave; 【1.7】数据测试
new 主库:202
create database test;
use test;
create table test1;
insert into test1 values(1);
commit; -- 然后new从库201核验
参考:
Mysql复制的日常维护管理:https://www.cnblogs.com/gered/p/11388986.html
(5.9)mysql高可用系列——正常主从切换测试的更多相关文章
- (5.8)mysql高可用系列——MySQL中的GTID复制(实践篇)
一.基于GTID的异步复制(一主一从)无数据/少数据搭建 二.基于GTID的无损半同步复制(一主一从)(mysql5.7)基于大数据量的初始化 正文: [0]概念 [0.5]GTID 复制(mysql ...
- (5.15)mysql高可用系列——MHA实践
关键词:MHA,mysql mha [1]需求 采用mysql技术,实现MHA高可用主从环境,预计未来数据量几百G MHA概念参考:MYSQL高可用技术概述 [2]环境技术架构 [2.1]MHA简介 ...
- (5.1)mysql高可用系列——高可用架构方案概述
关键词:mysql高可用概述,mysql高可用架构 常用高可用方案 20190918 现在业内常用的MySQL高可用方案有哪些?目前来说,用的比较多的开源方案分内置高可用与外部实现,内置高可用有如下: ...
- MySQL高可用系列之MHA(二)
一.參数说明 MHA提供了一系列配置參数.深入理解每一个參数的详细含义,对优化配置.合理使用MHA非常重要.非常多高可用性也都是通过合理配置一些參数而实现的. MHA包含例如以下配置參数,分别说明例如 ...
- MySQL高可用方案MHA在线切换的步骤及原理
在日常工作中,会碰到如下的场景,如mysql数据库升级,主服务器硬件升级等,这个时候就需要将写操作切换到另外一台服务器上,那么如何进行在线切换呢?同时,要求切换过程短,对业务的影响比较小. MHA就提 ...
- Mysql高可用架构(主从同步)
做高可用的优势 1.成本低 2.解决单点故障 3.不容易遇到性能瓶颈 一 .Mysql主从同步架构搭建案例 优点如下:·在业务繁忙阶段,在从服务器上可以执行查询工作(即我们常说的读写分离),降低主服务 ...
- mysql高可用研究(一) 主从+MHA架构 (转)
最近在研究mysql的高可用架构,自己想总结下常用的高可用方案都有哪些.有哪些优缺点以及应用的场景?搞得是头昏脑涨,天昏地暗,看了诸多资料,每次都觉得公说公有理婆说婆有理.其实嘛,大家说的都有一定的道 ...
- mysql高可用研究(二) 主从+MHA+Atlas
关于Atlas的详细介绍请访问:https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md 为什么要使用Atlas?应用程序直连数据库不好吗? ...
- mysql高可用研究(一) 主从+MHA架构
最近在研究mysql的高可用架构,自己想总结下常用的高可用方案都有哪些.有哪些优缺点以及应用的场景?搞得是头昏脑涨,天昏地暗,看了诸多资料,每次都觉得公说公有理婆说婆有理.其实嘛,大家说的都有一定的道 ...
随机推荐
- swagger2 常用注解说明
常用到的注解有: Api ApiModel ApiModelProperty ApiOperation ApiParam ApiResponse ApiResponses ResponseHeader ...
- java常用检验接口control方式
@Controller public class ItemController { @Autowired private ItemService itemService; @RequestMappin ...
- CDOJ 1255 斓少摘苹果 图论 2016_5_14
斓少摘苹果 Time Limit: 3000/3000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit St ...
- HGOI 20191029pm 题解
Promblem A 小学组 给出一个位运算操作符$\oplus \in \{or , and , xor\}$ ,和$n$个$m$维向量$a_i$,其中$a_{i,j} \in \{0,1\}$. ...
- python 多线程实现循环打印 abc
python 多线程实现循环打印 abc 好久没写过python了, 想自己实践一下把 非阻塞版 import threading import time def print_a(): global ...
- FTP服务器安装配置
1.安装:yum install vsftpd -y 2.修改配置文件:cd /etc/vsftpd/ cat vsftpd.conf | grep -Ev '^$|^#' listen_port= ...
- 如何使用getattr运行单个函数
import sys def foo(): print("哈哈想不到吧") if __name__ == '__main__': getattr(sys.modules[__nam ...
- C++入门经典-例8.1-类的继承
1:继承是面向对象的主要特征(此外还有封装和多态)之一,它使得一个类可以从现有类中派生,而不必重新定义一个新类.继承的实质就是用已有的数据类型创建新的数据类型,并保留已有数据类型的特点,以旧类为基础创 ...
- koa 基础(二十三)封装 DB 库 --- 应用
1.根目录/module/config.js /** * 配置文件 */ var app = { dbUrl: 'mongodb://127.0.0.1:27017/?gssapiServiceNam ...
- C#汉字转换拼音技术详解(高性能)
public static class ChineseToPinYin { private static readonly Dictionary<<span class="key ...