贵州建设厅考试网站,手机网站建站软件,建设网站青岛市,wordpress 代码编辑器插件下载使用MySQL第三方工具binlog2sql binlog2sql#xff0c;一款基于python开发的开源工具#xff0c;是由大众点评团队的DBA使用python开发出来的#xff0c;从MySQL binlog解析出你要的SQL。根据不同选项#xff0c;你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。其功…使用MySQL第三方工具binlog2sql binlog2sql一款基于python开发的开源工具是由大众点评团队的DBA使用python开发出来的从MySQL binlog解析出你要的SQL。根据不同选项你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。其功能有 数据快速回滚闪回主从切换后新master丢失数据的恢复从binlog生成标准SQL带来的衍生功能一、安装python 1、安装python3环境Linux本省自带python2环境 安装依赖
yum install -y gcc gcc-c zlib zlib-devel libffi-devel openssl openssl-devel pcre pcre-devel yum-utils vim wget tree htop sqlite-devel2、解压配置Python-3.6.5.tgz 安装 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
tar -zxf Python-3.6.5.tgz配置安装参数
./configure --prefix/usr/local/Python-3.6.5编译安装 make make install3、添加软链接让python3和pip3这两个命令指向刚刚安装的python3.6
ln -s /usr/local/python3.6/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3.6/bin/pip3.7 /usr/bin/pip34、验证
python3 --version
pip3 --versionpip3 list 提示升级pip python3 -m pip install --upgrade pip
二、安装binlog2sql
shell git clone https://github.com/danfengcao/binlog2sql.git cd binlog2sql
shell pip install -r requirements.txt再安装binlog2sql解析所需要的包 pip3 install mysql-replication-0.13.tar.gz pip3 install PyMySQL-0.9.3.tar.gz pip3 install wheel-0.34.2-py2.py3-none-any.whl pip3 list 所用到的包在这里 https://download.csdn.net/download/weixin_44090237/88618756?spm1001.2014.3001.5503 三、MySQL操作 1、进入MySQL确认是否开启binlog日志
show variables like log%如未开启修改/etc/my.cnf文件添加如下参数
[mysqld]
server_id 1
log_bin mysql-bin
binlog_format row添加完重启MySQL服务 systemctl restart mysqld 2、创建并删除测试数据 create table user; insert into user ; delete from user; 3、查看当前binlog文件
show master status;四、解析出标准SQL
python3 binlog2sql.py -h127.0.0.1 -P3306 -uroot -p123456 -dtest -t user --start-filemysql-bin.000002五、解析出回滚SQL
根据时间解析
python3 binlog2sql.py --flashback -h127.0.0.1 -P3306 -uroot -p123456 -dtest -t user --start-filemysql-bin.000002 --start-datetime2023-12-07 16:59:49 --stop-datetime2023-12-11 11:17:20 user.txt六、还原sql
解析拿到的sql做处理 awk -F ‘;’ ‘{print $1 “;”}’ user .txt user.txt cat user.txt |grep “INSERT” user.sql
最后回到MySQL source user.sql