通过binlog恢复数据
下载工具:https://download.pingcap.org/tidb-binlog-cluster-latest-linux-amd64.tar.gz
解压该压缩包可以看到如下几个工具
将binlog文件置于指定目录/root/binlogdir,我这里是选择恢复到192.168.31.190:30158的mysql中
配置reparo.toml
# Drainer 输出的 protobuf 格式 binlog 文件的存储路径。 data-dir = "/root/binlogdir" # 日志输出信息等级设置:debug, info, warn, error, fatal (默认值:info)。 log-level = "info" # 使用 start-datetime 和 stop-datetime 来选择恢复指定时间范围内的 binlog,格式为 “2006-01-02 15:04:05”。 # start-datetime = "" # stop-datetime = "" # start-tso、stop-tso 分别对应 start-datetime 和 stop-datetime,也是用于恢复指定时间范围内的 binlog,用 tso 的值来设置。如果已经设置了 start-datetime 和 stop-datetime,就不需要再设置 start-tso 和 stop-tso。 # start-tso = 0 # stop-tso = 0 # 下游服务类型。 取值为 print, mysql(默认值:print)。当值为 print 时,只做解析打印到标准输出,不执行 SQL;如果为 mysql,则需要在 [dest-db] 中配置 host、port、user、password 等信息。 dest-type = "mysql" # 输出到下游数据库一个事务的 SQL 语句数量(默认 20)。 txn-batch = 20 # 同步下游的并发数,该值设置越高同步的吞吐性能越好(默认 16)。 worker-count = 16 # 安全模式配置。取值为 true 或 false(默认值:false)。当值为 true 时,Reparo 会将 update 语句拆分为 delete + replace 语句。 safe-mode = false # replicate-do-db 和 replicate-do-table 用于指定恢复的库和表,replicate-do-db 的优先级高于 replicate-do-table。支持使用正则表达式来配置,需要以 '~' 开始声明使用正则表达式。 # 注:replicate-do-db 和 replicate-do-table 使用方式与 Drainer 的使用方式一致。 # replicate-do-db = ["~^b.*","s1"] # [[replicate-do-table]] # db-name ="test" # tbl-name = "log" # [[replicate-do-table]] # db-name ="test" # tbl-name = "~^a.*" # 如果 dest-type 设置为 mysql或者tidb, 需要配置 dest-db。 [dest-db] host = "192.168.31.190" port = 30158 user = "root" password = "123456"
出现如下字样表示恢复成功