mysql binlog pid_MySQL binlog简介

binlog是MySQL日志中非常重要的日志,今天结合MySQL的官方文档系统学习一下binlog的知识。

目录

binlog介绍

binlog记录了使数据库发生变化的操作,比如创建表,更新表(create ,update,delete,insert)等,同时也会记录这些操作花费的时间。二进制日志不会记录select 和 show操作,如果你想要查看这类的操作,可以开启全量日志查看。开启binlog会是数据库性能有轻微的损耗,但是相比于开启日志后带来的好处,这些性能损耗可以忽略。

MySQL 8.0.14开始,二进制日志和中继日志可以加密。保护日志的敏感信息,防止外部攻击者获取泄露。相关参数binlog_encryption

binlog的作用

1 主从复制

2 恢复数据库

如何开启binlog

开启参数 log_bin

一般我们都是通过指定配置文件启动MySQL实例,所以可以将该参数写入到配置文件中。

可以直接写改参数 ,后面不加路径和文件,数据库和会根据参数datadir路径和服务器主机名生成binlog。

在配置文件中添加参数如下,不加任何选项

38acbbd9c54705cecfe76aa348867cfd.png

生成的binlog文件路径和格式如下,Master 为主机名

3122b0438ec3a2927938d629c69a6c2b.png

路径为datadir路径

2309deb1c7b446297e9237ee758e4db3.png

也可以通过以下方式参看

ba7623752b830bd5a61928ed79baee4a.png

建议的开启方式为该参数后指定路径和文件名,这样在主机名称改变后binlog还能继续使用相同的文件名。

log-bin = /server/mysql_data/mysql-bin

23f19b563ad4dcf4fa3d17a5a7e6343c.png

注意 开启binlog必须制定server_id 参数 ,如果没有server_id参数报错如下

Starting MySQL.. ERROR! The server quit without updating PID file (/server/mysql_data/mysql.pid).

8d35b1161b19c915035c56c5a7df0cf4.png

何时生成新的日志文件

MySQL服务在以下三种情况下会生成新的二进制文件,新生成的二进制文件名会使用base name之后数字递增的方式命名,另外为了跟踪使用了哪些二进制日志文件,还会生成一个以.index结尾的索引文件,索引文件中记录实际的日志文件名。

1 在服务启动或者重启

2 数据库执行flush logs;

3 当日志的大小超过设置的大小 。max_binlog_size

注意:如果数据库中有大事务,二进制日志文件可能会比max_binlog_size更大,因为事务是完整地写入文件的,而不是在文件之间分割。

80516e06aae02bf60f01bf4fb8767cfe.png

二进制日志三种格式

1 row-based logging,

2 statement-based logging

3 mixed-base logging.

如何查看二进制日志内容

可以使用工具mysqlbinlog查看二进制日志的内容。另外还可以利用该工具进行恢复,此功能很有用。例如

shell> mysqlbinlog log_file | mysql -h server_name

mysqlbinlog还可以查看中继日志内容, 因为它们使用与二进制日志文件相同的格式编写

关于binlog的操作 与参数

purge binary logs to 'mysql-bin.000003';

直接删除文件后 元数据中还有记录 会出现文件不存在但是在元数据还记录,但是文件的大小为0

rm -rf  mysql-bin.000002

424c26e8ba1246d13ca4a3afb104d401.png

恢复多个文件的小技巧

可以使用正则去匹配多个文件恢复

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值