java跑路_记⼀次删库跑路!哈哈哈
2018年⼋⽉⼆号,是⿊暗的⼀天,在今天我碰到⼀个MySQL的坑,让我⽆意间删掉了整个表的数据,当时我⼼如死灰,感觉凉凉了!但是⽚刻之间我就⽴马上报该问题,运维⽴马停掉服务,(为什么停掉服务?脑壳想⼀想就明⽩了),我问问运维有没有备份,运维说备份是夜⾥两点备份的,⽤备份数据的话今天上午的新增的数据也是没有的,于是我马上⽤命令  show veriables like 'log_%'; 查看是否已开启⽇志,谢天谢地mysql开启了binlog,于是今天记录⼀下误删库利⽤binlog回滚的具体操作!
1、重中之重,误删库之后应该⽴马停掉服务,并且通知开发⼈员不要继续往数据库⾥⾯写东西,⼀⾯⽇志过⼤覆盖掉我们需要回滚的⽇志;
2、我马上根据 show veriables like 'log_%';这个命令定位到binlog的位置,到最近的log;
3、binlog是⼆进制⽂件 vi vim cat 都不能直接查看到我们想看的东西,我们要是⽤mysql⾃带的⼯具查看,命令:
/usr/local/mysql/bin/mysqlbinlog --base64-output="decode-rows" -v /var/log/mysql/mysql-bin.000021
输出的⽇志使我们能看到的sql语句
mysql下载starting the server
在按照上⾯这个链接做的时候,bin-log的位置由于权限不够,mysql⽆法重新启动,报错:(Starting MySQL.The server quit without updating PID file (/usr/local/mysql/data/mysql/izwz96bvf2t3
0nuubf3qbez.pid).)解决⽅法 :给予权限,执⾏ “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
这是⼀次宝贵的经验,此记录只是记录下具体的删库后怎么回滚的思路,剩余的操作需要看到的朋友动⼿去试⼀试!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。