mysql不用删库跑路了,备份还原

自己也遇到过生产环境数据被删除的情况,数据没了只能给一个个用户解释,下面介绍用插件回滚任意时刻的数据

插件 :binlog2sql

安装binlog2sql前先安装git和pip:

yum -y install epel-release 
yum -y install git  python-pip

第二步,git安装 binlog2sql


git clone https://github.com/danfengcao/binlog2sql.git
pip install -r requirements.txt


第三步:配置
 在mysql文件 my.cnf中修改

 server-id=123454 //5.7版本以上必须要
 log-bin=/var/log/mysql/mysql-bin.log
 binlog-format=row


第四步


  重启 mysql


  然后随便删除或修改数据库某张表的数据,/var/lib/mysql下会生成mysql-bin.000001的文件,如果这种类型文件太多,你并 不知道你操作的记录在哪个mysql-bin中,登录mysql查看


第五步,解析binlog,在binlog2Sql目录下

 命令:python binlog2sql.py -h127.0.0.1 -P3306 -u你的用户名 -p'你的数据库密码’ -d你的数据库 -t你的表 --start-file='mysql-bin.000002'

 结果 DELETE FROM `qsyx`.`w_team` WHERE `team_name`='1213' AND `enable`=0 AND `id`=12 AND `image`='https://xqbstyle.oss-cn-hangzhou.aliyuncs.com/images/title.png' AND `created`='2018-05-05 11:08:02' LIMIT 1; #start 4 end 466 time 2018-05-17 16:03:50


第六步  生成回滚sql,并检查回滚sql是否正确
 命令: python binlog2sql.py -h127.0.0.1 -P3306 -u你的用户名 -p'你的数据库密码’ -d你的数据库 -t你的表 --start-file='mysql-bin.000002' --start-pos=4 --end-pos=466 -B
 结果:INSERT INTO `qsyx`.`w_team`(`team_name`, `enable`, `id`, `image`, `created`) VALUES ('1213', 0, 12, 'https://xqbstyle.oss-cn-hangzhou.aliyuncs.com/images/title.png', '2018-05-05 11:08:02'); #start 4 end 466 time 2018-05-17 16:03:50


第七步 确认回滚sql正确,执行回滚语句。登录mysql,数据回滚成功。4
  命令  python binlog2sql.py -h127.0.0.1 -P3306 -u你的用户名 -p'你的数据库密码’ -d你的数据库 -t你的表 --start-file='mysql-bin.000002' --start-pos=4 --end-pos=466 -B | mysql -h127.0.0.1 -P3306 -u你的用户名 -p'你的数据库密码’
  结果  mysql: [Warning] Using a password on the command line interface can be insecure.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值