很多面试后端R&D的同学都被面试官问过:开发过程中手表里的数据被误修改或误删除了怎么办?
第一步:确保mysql已经打开了binlog,并检查命令:
看看binklog是否开放。
show variables like '%log_bin%';
检查binlog存储日志文件的目录(如下图,blogger binlog目录为/data/mysql):
show variables like '%datadir%';
检查binlog存储日志文件的目录。
值是关的,需要打开,值是开的,已经打开。
如果没有启动binlog,没有提前生成回滚SQL,可能真的无法快速回滚。强烈建议为存储重要业务数据的MySQL打开binlog。
第二步:进入 binlog 文件目录,找出日志文件
步骤2:转到binlog文件目录并找到日志文件
找到日志文件。
第三步:切换到 mysqlbinlog 目录(当线上数据出现错误的时候首先可以询问具体操作人记录时间点,这个时候可以借助 mysql 自带的 binlog 解析工具 mysqlbinlog,具***置在 mysql 安装目录 **/mysql/bin/ 下)
第三步:切换到mysqlbinlog目录(在线数据出现错误时,可以先请具体操作人员记录时间点。这时可以使用mysql自带的binlog解析工具mysqlbinlog。具***置在mysql安装目录**/mysql/bin/)
Mysqlbinlog目录
第四步:通过mysqlbinlog工具的命令查看数据库的增删改记录(只有切换到mysqlbinlog目录才有效)。
mysqlbinlog --no-defaults --database=youxi --start-datetime="2018-11-12 09:00:00" --stop-datetime="2018-11-13 20:00:00" /data/mysql/mysql-bin.000015 > template_coupon_tb_product_category.txt
例:查询尤溪2018-11-12 09:00:00至2018-11-13 20:00:00的操作日志,输入以下命令将数据写入备用txt文件。
2:查询尤溪2018-11-12 09:00:00至2018-11-13 20:00:00的操作日志,输出到屏幕。
mysqlbinlog --no-defaults --database=youxi --start-datetime="2018-11-12 09:00:00" --stop-datetime="2018-11-13 20:00:00" /data/mysql/mysql-bin.000015 |more
例3:用优喜的数据库查询2018-11-12 09:00:00至2018-11-13 20:00:00的操作日志,筛选出只包含
template _ coupon _ TB _ product _ category表数据的操作记录。输入以下命令,将数据写入备用txt文件
mysqlbinlog --no-defaults --database=youxi --start-datetime="2018-11-12 09:00:00" --stop-datetime="2018-11-13 20:00:00" /data/mysql/mysql-bin.000015 | grep template_coupon_tb_product_category > template_coupon_tb_product_category.txt
mysqlbinlog命令的语法格式:
mysqlbinlog mysql-bin.0000xx | mysql -u用户名 -p密码 数据库名
常见参数选项说明:
--start-position=875 起始pos点--stop-position=954 结束pos点--start-datetime="2016-9-25 22:01:08" 起始时间点--stop-datetime="2019-9-25 22:09:46" 结束时间点--database=zyyshop 指定只恢复zyyshop数据库(一台主机上往往有多个数据库,只限本地log日志)
未使用的选项:
-u --user=name 连接到远程主机的用户名-p --password[=name] 连接到远程主机的密码-h --host=name 从远程主机上获取binlog日志--read-from-remote-server 从某个MySQL服务器上读取binlog日志
步骤5:使用步骤4中的sql语句或txt文本输出来过滤语句,重新插入数据或更新数据。
本文来自年轻人玩的就是心跳投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/631263.html