1. 首页 > 国产数据库教程 > TiDB教程 > 正文

tidb-094-TiDB Binlog同步与使用

  • 配置Pump
    # pump.toml
    
    # Pump服务器配置风哥提示:
    [server]
    addr = "0.0.0.0:8250"
    advertise-addr = "192.168.1.10:8250"
    log-level = "info"
    log-file = "/tidb/app/pump/logs/pump.log"
    
    # 存储配置
    [storage]
    # 存储类型:local
    storage-type = "local"
    # 存储路径
    path = "/tidb/app/pump/data"
    # 保留时间(小时)
    gc = 72
    

  • 配置Drainer
    # drainer.toml
    
    # Drainer服务器配置
    [server]
    addr = "0.0.0.0:8249"
    advertise-addr = "192.168.1.11:8249"
    log-level = "info"
    log-file = "/tidb/app/drainer/logs/drainer.log"
    
    # 存储配置
    [storage]
    # 存储类型:local
    storage-type = "local"
    # 存储路径
    path = "/tidb/app/drainer/data"
    
    # 同步配置
    [syncer]
    # 目标类型:mysql、kafka、file等
    target-type = "mysql"
    # MySQL配置
    [syncer.to]
    host = "192.168.1.12"
    port = 3306
    user = "root"
    password = "password"
    database = "tidb_binlog"
    

  • 3.2 启动服务

    # 启动Pump服务
    tiup cluster start fgedudb -R pump

    # 启动Drainer服务
    tiup cluster start fgedudb -R drainer

    3.3 监控同步状态

    # 查看Pump状态
    tiup cluster display fgedudb -R pump

    # 查看Drainer状态
    tiup cluster display fgedudb -R drainer

    # 查看Pump日志
    tail -f /tidb/app/pump/logs/pump.log

    # 查看Drainer日志
    tail -f /tidb/app/drainer/logs/drainer.log

    3.4 配置同步规则

    3.4.1 表过滤规则

    # drainer.toml 中的过滤规则
    [syncer.filter]
    # 白名单规则
    allow = ["test.*"]
    # 黑名单规则
    denied = ["test.log"]
    

    3.4.2 同步模式

    # drainer.toml 中的同步模式
    [syncer]
    # 同步模式:rewrite、raw
    # rewrite:将TiDB的DDL转换为目标数据库的DDL
    # raw:保持TiDB的DDL原样
    sync-ddl = true
    ddl-mode = "rewrite"
    

    3.5 故障处理

    学习交流加群风哥QQ113257174

    3.5.1 Pump故障

    # 重启Pump服务
    tiup cluster restart fgedudb -R pump

    # 查看Pump状态
    tiup cluster display fgedudb -R pump

    3.5.2 Drainer故障

    # 重启Drainer服务
    tiup cluster restart fgedudb -R drainer

    # 查看Drainer状态
    tiup cluster display fgedudb -R drainer

    3.5.3 数据一致性检查

    # 对比源数据库和目标数据库的数据量
    # TiDB
    mysql -h 192.168.1.20 -P 4000 -u root -p -e “SELECT COUNT(*) FROM test.table;”
    # 目标MySQL
    mysql -h 192.168.1.12 -P 3306 -u root -p -e “SELECT COUNT(*) FROM test.table;”
    更多视频教程www.fgedu.net.cn

    本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

    联系我们

    在线咨询:点击这里给我发消息

    微信号:itpux-com

    工作日:9:30-18:30,节假日休息