评论

收藏

[MySQL] MySQL树形复制—BLACKHOLE存储引擎的使用

数据库 数据库 发布于:2021-07-04 13:07 | 阅读数:334 | 评论:0

  
MySQL
树形
复制—BLACKHOLE存储引擎的使用







20113


修订记录

            
版本

            
修订内容

            
修订人

            
审核

            
修改日期

            
V0.1

            
创建

            谭志军
            
            

            

            

            
            
            

            

            

            
            
            

            

            

            
            
            

            

            

            
            
            

            

            

            
            
            

            

            

            
            
            


目录
1 序言2
1.1 背景2
1.2 特性2
2 MySQL同步复制拓扑图2
3 BlackHole配置2
4 上线部署3
4.1 环境3
4.2 部署步骤3
5 紧急故障处理3
5.1 BlackHole机器不可用3


1 序言
1.1 背景
随着公司发展,网站流量越来越大,数据库机器也越来越多。机器的增长基本在从库上;就主站而言,当前有18台从库,每台从库都会在主库上创建一个同步线程。随着机器的增多,同步給主库带来的压力也越大。避免給单台主库造成的压力过大,在现有的主从库之间添加多台代理服务器,应用BLACKHOLE引擎数据不写磁盘的特性,分担主库的同步。

1.2 特性
BLACKHOLE存储引擎MySQL数据库特有的存储引擎,就像“黑洞”一样,它接收数据但不存储数据。取回总是返回空集。当创建一个BLACKHOLE表的时候,服务器在数据库目录创建一个表定义文件。文件用表的名字开头,并且有一个.frm扩展名。没有其它文件关联到这个表。
2 MySQL同步复制拓扑图
  

      
DSC0000.png

  

3 BlackHole配置1. 编译:需带上 --without-plugin-blackhole 选项来支持BLKCKHOLE引擎。
2. BLACKHOLE机器特殊配置参数:
设置BLACKHOLE为默认存储引擎:
default_table_type = BLACKHOLE

开启中间层从库写binlog,及本地binlog
log-slave-update    = 1
log-bin               = ms-mysql-bin

跳过innodb支持,当建表语句带有engine=innodb时,在中间层自动使用默认引擎BLACKHOLE
skip-innodb

4 上线部署
4.1 环境
Master à Slave1
Master à BlackHole à Slave1

4.2 部署步骤
1. Slave1停止与Master的同步,记下同步点。
2. Dump表结构导入Blackhole,并在Blackhole上将表引擎全更改为BLACKHOLE
3. BLackHole执行 change master 成为Master的从库节点,master_log_file master_log_pos Slave1停止同步时的值。
4. Slave1 执行change master 成为BlackHole的从库节点。
5. 启动BlackHoleSlave1的同步。
注:步骤不可变更。
5 紧急故障处理
5.1 BlackHole机器不可用
1. 确认BlackHole下层Slave复制停止在同一个同步点;若有同步点不一致的机器暂时剔除,需从同层Slave重导数据[这种情况出现的几率很小]
2. 读取BlackHole data目录下 master.info 文件,在新的BlackHole实例上执行change master成为Master从库节点,同步信息取master.info 值。
3. 下层Slavechange master 成为新BlackHole实例的从库节点。
4. 启动BlackHole 及下层Slave的同步。

  

  
关注下面的标签,发现更多相似文章