努力挣扎的生活 努力挣扎的生活
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Docker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)

yangfk

瑟瑟发抖的小运维
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Docker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)
  • Mysql

    • mysql安装
    • Mysql数据库备份
    • mysql主从复制
    • mysql高可用MHA
    • binlog2sql安装及mysql数据恢复
      • 安装binlog2sql
      • binlog2sql的使用参数说明
      • 示例
    • mysql二进制安装5.7.38
  • PostgreSQL

  • Redis

  • MongoDB

  • ClickHouse

  • SqlServer

  • openGuassDB

//
  • DBA
  • Mysql
yangfk
2020-03-22

binlog2sql安装及mysql数据恢复

//

# 安装binlog2sql

  • 安装工具
yum install python-pip git -y
git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
pip install --upgrade pip -i https://mirrors.ustc.edu.cn/pypi/web/simple/
pip install -r requirements.txt --default-timeout=100 -i https://mirrors.ustc.edu.cn/pypi/web/simple/

#wget http://download.yfklife.cn/blog/dba/mysql/binlog2sql.zip && unzip binlog2sql.zip
1
2
3
4
5
6
  • 该工具需要使用到的三个包
PyMySQL==0.7.8
wheel==0.24.0
mysql-replication==0.9

1
2
3
4
  • 数据库需要的配置
[mysqld]
server_id = 1
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 1G
binlog_format = row
binlog_row_image = full

1
2
3
4
5
6
7

# binlog2sql的使用参数说明

mysql命令行参数

参数 说明
解析模式
--stop-never 持续同步binlog。可选。不加则同步至执行命令时最新的binlog位置。
-K, --no-primary-key 对INSERT语句去除主键。可选。
-B, --flashback 生成回滚语句,可解析大文件,不受内存限制,每打印一千行加一句SLEEP SELECT(1)。可选。与stop-never或no-primary-key不能同时添加。
解析范围控制
--start-file 起始解析文件。必须。
--start-position/--start-pos start-file的起始解析位置。可选。默认为start-file的起始位置。
--stop-file/--end-file 末尾解析文件。可选。默认为start-file同一个文件。若解析模式为stop-never,此选项失效。
--stop-position/--end-pos stop-file的末尾解析位置。可选。默认为stop-file的最末位置;若解析模式为stop-never,此选项失效。
--start-datetime 从哪个时间点的binlog开始解析,格式必须为datetime,如'2016-11-11 11:11:11'。可选。默认不过滤。
--stop-datetime 到哪个时间点的binlog停止解析,格式必须为datetime,如'2016-11-11 11:11:11'。可选。默认不过滤。
对象过滤
-d, --databases 只输出目标db的sql。可选。默认为空。
-t, --tables 只输出目标tables的sql。可选。默认为空。

# 示例

python binlog2sql.py -h127.0.0.1 -P3306 -uroot -p -d confluence --start-file='mysql-bin.000001' --start-datetime="2020-03-20 16:01:00" --start-pos=13998798 -B > roll.sql

查看roll.sql 文件,`less roll.sql

//
如果此文章对您有帮助,点击 -->> 请博主喝咖啡 (opens new window)
上次更新: 2021/10/08, 16:59:52
mysql高可用MHA
mysql二进制安装5.7.38

← mysql高可用MHA mysql二进制安装5.7.38→

最近更新
01
Linux Polkit 权限提升漏洞(CVE-2021-4034)
03-28
02
postgreSQL维护
03-17
03
trivy系统漏洞扫描
02-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 yangfk | 湘ICP备2021014415号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
//