聊聊数据库~6.SQL运维中篇 (5)

6.sql.png

查看下binlog日志:(线上开发一般都是FULL模式,主要是防止程序员修改SQL的时候不加条件等误操作)

FULL模式就是这样,该行数据全部记录(修改部分其实就绿色框的地方)

6.binlog.jpg

想要binlog中记录SQL就开启binlog_rows_query_log_events:

PS:像这种操作,如果模式选混合模式,binlog中会记录SQL的

临时开启下binlog_rows_query_log_events(如果你有需要可以配置文件设置一下)

PS:MySQL8可通过set persist命令将全局变量的修改持久化到配置文件中

6.sql2.png

效果如下:

6.binlog2.png

5.4.二进制日志的清除

自动清除

配置文件中设置时间:expire_logs_days = 30

手动清除

删除指定编号之前的日志:purge binary logs to 'binlog.000006';

删除指定时间之前的日志:purge binary logs before '2019-06-15 14:14:00';

已经23:23了,我们快速演示下:

MySQL命令行中执行命令:

7.删除.png

文件列表:

7.文件.png

5.5.二进制日志与主从

这个把运维篇讲完会继续说,运维篇结束后会有个高级篇(架构),这边就简单提下二进制格式对主从复制的影响:

基于SQL语句的复制(SBR)

二进制日志格式使用的是statement格式(5.7前的默认)

基于行的复制(RBR)

二进制日志格式使用的是基于行的日志格式

混合模式

根据实际在上面两者中切换

贴个课后拓展文章:https://www.cnblogs.com/gujianzhe/p/9371682.html

下级预估:备份与恢复、监控

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxwsz.html