1、首先安装git和pip
yum -y install git python-pip
yum -y install git python-pip
2、从Git上获取binlog2sql
git clone https://github/danfengcao/binlog2sql.git && cd binlog2sql
pip install -r requirements.txt
3、以上为直接从git获取并安装,如内网操作无法联通外网则自行上传依赖安装(私信获取安装包依赖)
# tar xvf binlog2sql.tar.gz
# cd binlog2sql/binlog2sql_dependencies/
# tar xvf setuptools-0.6c11.tar.gz
# cd setuptools-0.6c11
# python setup.py install
# cd ..
# tar xvf pip-9.0.1.tar.gz
# cd pip-9.0.1
# python setup.py install
# cd ..
# pip install *.whl mysql-replication-0.9.tar.gz
最终完成安装后
完成安装后登录数据库确认一以下参数
server_id = 1
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 1G
binlog_format = row
binlog_row_image = full
4、解析binlog日志
首先登录数据库服务器后,查看当前最新binlog
show master logs;
刷新日志,从当前时间点建立新日志,防止解析时日志文件时过大而导致耗时久。
flush logs;
进入安装binlog2sql 目录下执行如下命令。命令中参数设置需注意用户权限。
python binlog2sql.py -h 数据库IP -P 端口 -u 用户名 -p 密码 -d schema -t table --start-file binlog名称 > reback.sql
执行后生成操作时误操作SQL。一般限定到某某库某某数据表。生成后的文件保存在当前目录
通过解析找到如下误操作语句
反向生成修复SQL
python binlog2sql.py -h 数据库IP -P 端口 -u 用户名 -p 密码 -d schema -t table --start-file binlog名称 > roll.sql -B
拿出需恢复脚本进行操作
最后修复完成。
以上仅供测试环境恢复验证,binlog日志需在发现问题后第一时间打断点或定位保留。生产数据库须严格流程操作。
更多推荐
Mysql数据库简单回滚操作
发布评论