mysql中的binlog用法
binlog是什么
MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。使用mysqlbinlog命令,该命令是mysql自带的,使用简单。其运行的本质是将日志记录中的事件再次执行一遍。
常用操作
- 查看最后的二进制日志名
- show master status;
- 查看所有的二进制日志文件
- show master logs;
- 清空所有的二进制文件
- reset master;
- 查看此时的binlog日志记录
- show binlog events in 'binlog.000068';
- 如:日志文件名为binlog.000068
以上4条命令都是在登录数据库后进行使用
- 查看二进制文件
- mysqlbinlog mysql-bin.000001
- 文件名为mysql-bin.000001
- 数据还原(还原mysql-bin.000001 中记录的日志)
- mysqlbinlog mysql-bin.000001 | mysql -uroot -proot database;
以上两条命令是在日志文件命令下执行。我的是C:\ProgramData\MySQL\MySQL Server 8.0\Data下执行。
常用选项
- --start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地计算机的时间
- --stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地计算机的时间 取值和上述一样
- --start-position:从二进制日志中读取指定position 事件位置作为开始。
- --stop-position:从二进制日志中读取指定position 事件位置作为事件截至
这两个选项可以帮助我们最快速的还原到指定时候的数据库
当执行mysqlbinlog --no-defaults mysql-bin.000001命令时,会出现类似以下的内容
如果使用时间选择需要还原的数据时,则命令是
mysqlbinlog --start-datetime="2022-11-22 21:27:30" --stop-datetime="2022-11-22 21:27:40" SC-202103201745-bin.000001 | mysql -uroot -p
如果使用事件位置还原数据时,则可以在数据库中运行show binlog events in 日志文件名;命令
会返回以下数据
起始位置为236,结束位置为534,那么还原数据库的命令为
mysqlbinlog --start-position=236 --stop-position=534 SC-202103201745-bin.000001 | mysql -uroot -p
常见问题
- 查看日志为sql语句乱码的问题
如果出现像图中一样出现乱码的问题,添加--base64-output=decode-rows -v参数即可。如:
mysqlbinlog --base64-output=decode-rows -v SC-202103201745-bin.000001
mysql中的binlog用法相关推荐
- MySQL中show命令用法大全
MySQL中show命令用法大全 官方文档:https://dev.mysql.com/doc/refman/5.6/en/show.html https://dev.mysql.com/doc/re ...
- mysql中change用法,mysql 中alter的用法以及一些步骤
mysql 中alter的用法以及一些方法 在用到alter的时间,查到了这个文章,就copy下来了,详细进入下面链接: MySQL之alter语句用法总结 1:删除列 ALTER TABLE [表名 ...
- mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法
Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...
- mysql中去重的用法_mysql中去重 distinct 用法
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...
- mysql中的comment用法
mysql中的comment用法 在MySQL数据库中,字段或列的注释是用属性comment来添加. 创建新表的脚本中, 可在字段定义脚本中添加comment属性来添加注释. 示例代码如下: crea ...
- mysql limit 含义_深入分析Mysql中limit的用法
很久没用mysql的limit,一时大意竟然用错了,自认为(limit 开始,结束),其实错了,正确的应该是(limit 偏移量,条数),为了记住这次错误,转载一篇limit用法详解.推荐给大家,希望 ...
- mysql中 where in 用法详解
https://blog.csdn.net/haibo0668/article/details/52584307 sssss mysql中 where in 用法详解 我是高手高手高高手 2016-0 ...
- MySQL中EXISTS的用法
比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID ...
- MySQL中Left Join用法
MySQL中Left Join用法 例子: user表: id name --------- 1 libk 2 zyfon 3 daodao user_action表: user_i ...
最新文章
- 接私活渠道,你有技术,就有钱!
- B-Tree索引在sqlserver和mysql中的应用
- Kafka文件存储机制那些事
- sklearn字典特征提取
- VTK:可视化之BackfaceCulling
- 孙叫兽进阶之路之压力与绩效
- 自定义SeekBar 实时显示百分比进度
- uint16 累加_如何把一个uint16整数分解成两个字节并传输?
- c++ 队列_经典数据结构与算法(一):Python/C/C ++实现堆栈和队列
- 《CLR via C#》读书笔记(5)基元类型、引用类型和值类型
- GBK字符串转Unicode字符串
- W3Cschool菜鸟教程离线版下载链接
- 数据分析 告诉你《飞驰人生》为什么这么燃?
- 报错: EBUSY: resource busy or locked, lstat ‘C:\hiberfil.sys‘
- SSH 通过跳板机连接远程主机
- 两个构件的重合点_两构件形成移动副,则两构件重合点的相对速度一定沿移动方向。...
- 原生js与jQuery显示隐藏div的几种方法
- 【python自动化】基于Splinter的自动化回归/测试脚本
- GitHub操作流程
- 看完这篇 教你玩转渗透测试靶机——Metasploitable2
热门文章
- 跨境电商和淘宝哪个好
- 快速编写HTML代码常用的方法
- python制表符的作用_Python制表符是什么
- [NOIP2017模拟]permut
- 前端实习生需要到达什么水平?
- Process finished with exit code 135 (interrupted by signal 7: SIGEMT)
- 走到最后,摩拜连姓名都不能拥有?
- 删除线性表节点(线性表)
- STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记三(1):Cortex-M3指令集概要
- Eclipse BIRT使用之BIRT Designer篇(转)