TIDB之TIUP扩容binlog,下游为mysql

目录

  • 一、环境准备
    • 1、硬盘参数
    • 2、服务器参数修改
    • 3、中控机到四台服务器root免密
  • 二、部署tidb集群

如题,在tiup模式部署tidb集群时未考虑binlog,现有需求需要binlog模式同步下游mysql
因官方文档中binlog部署模式为ansible及Binary 方式,未有tiup集群模式,经过官方论坛讨论及实际操作,总结如下
默认部署使用的场景1,如果是3可以忽略该文章

TIDB之TIUP扩容binlog,下游为mysql_第1张图片

一、环境准备

1、硬盘参数

按照官方文档说明,准备四台机器,其中/data硬盘有xfs及ext4,ext4按照官方说明修改硬盘参数
重启生效。xfs硬盘我未做任何操作

blkid

找到data分区对应的UUID
TIDB之TIUP扩容binlog,下游为mysql_第2张图片
修改/etc/fstab

UUID= /data ext4 defaults,nodelalloc,noatime 0 2

重启服务器生效

2、服务器参数修改

四台服务器使用命令,若能找到如截图所示,则进行编辑注释掉,若无内容则忽视

cat /etc/sudoers | grep requiretty

在这里插入图片描述
若部署有问题,可以在四台服务器上分别操作

visudo

加入如下内容:

tidb ALL=(ALL) NOPASSWD: ALL

3、中控机到四台服务器root免密

中控机切换到tidb用户,设置免密操作
ssh-copy-id root@ip

二、部署tidb集群

中控机tidb用户目录下,创建scale-out.yaml脚本,并编辑输入内容,其中host输入自己服务器的IP地址,syncer输入相关mysql参数

global:
  user: tidb
  ssh_port: 22
  deploy_dir: /data/tidb-deploy
  data_dir: /data/tidb-data
drainer_servers:
- host: 1
  ssh_port: 22
  port: 18249
  config:
    syncer.db-type: "mysql"
    syncer.to.host: "1"
    syncer.to.user: ""
    syncer.to.password: ""
    syncer.to.port: 
pump_servers:
- host: 10
  ssh_port: 22
  port: 18250
- host: 10
  ssh_port: 22
  port: 18250
- host: 10
  ssh_port: 22
  port: 18250

运行脚本

 ./.tiup/bin/tiup cluster scale-out <集群名称> scale-out.yaml --user root -i /home/tidb/.ssh/id_rsa

扩容集群成功有如下提示
在这里插入图片描述
编辑配置文件重新载入集群

./.tiup/bin/tiup cluster edit-config <集群名称>

修改binlog.enable的值为true
在这里插入图片描述

./.tiup/bin/tiup cluster reload <集群名称> -R tidb

查看集群状态:

./.tiup/bin/tiup cluster edit-config <集群名称>

pump和drainer已经部署成功
TIDB之TIUP扩容binlog,下游为mysql_第3张图片

操作tidb看看是否同步数据到mysql

你可能感兴趣的:(数据库)