博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL的log_bin和sql_log_bin 到底有什么区别?
阅读量:6376 次
发布时间:2019-06-23

本文共 1419 字,大约阅读时间需要 4 分钟。

log_bin:二进制日志。

二进制日志的作用:

1:数据恢复 

如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。 而且,你也可以利用二进制日志来还原你误操作的数据库。不过具体怎么操作还需要学的哟!
2:主从服务器之间同步数据 
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。因此,我们经常做的mysql-salva也是利用master的二进制日志来和master数据一致的。

###################################################

在 mysql 启动时,通过命令行或配置文件决定是否开启 binlog,而 log_bin 这个变量仅仅是报告当前 binlog 系统的状态(打开与否)。若你想要关闭 binlog,你可以通过修改 sql_log_bin 并把原来的连接 kill 掉,也可以修改 log_bin,然后重启 mysql,后者更彻底,缺点就是需要重启。

在配置文件或命令行中开启 binlog 时,可以为 log_bin 指定值(如log_bin=mysql.bin),作为 binlog 文件的前缀名。

例如你UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。说白了,就是把把在mysql里面执行的语句,记录在二进制日志里面而已。

###################################################

二进制日志一般都不小,要是想关闭或者还原数据库不记录二进制日志怎么办?

1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。 

vim   /etc/my.cnf把里面的 log-bin 这一行注释掉,重启mysql服务即可。 

那么sql_log_bin是什么东东?

sql_log_bin 是一个动态变量,修改该变量时,可以只对当前会话生效(Session),也可以是全局的(Global),当全局修改这个变量时,只会对新的会话生效 (这意味当对当前会话也不会生效),因此一般全局修改了这个变量后,都要把原来的所有连接 kill 掉。

mysql> select @@session.sql_log_bin; 

+-----------------------+

| @@session.sql_log_bin |

+-----------------------+

|                     1 |

+-----------------------+

1 row in set (0.00 sec)

mysql>

可以看出sql_log_bin的值是1|0, 当sql_log_bin的值为0的时候,本次连接mysql的session里面所输入的语句都不会被计入bin_log里面,也不会被丛库执行。

set sql_log_bin=0;

总结:

当还原数据库的时候,如果不关闭二进制日志,那么你还原的过程仍然会记录在二进制日志里面,不仅浪费资源,那么增加了磁盘的容量,还没有必要(特别是利用二进制还原数据库的时候)所以一般还原的时候会选择关闭二进制日志,可以通过修改配置文件,重启关闭二进制日志。也可以动态命令关闭sql_log_bin,然后导入数据库。

转载地址:http://zgvqa.baihongyu.com/

你可能感兴趣的文章
Centos 打开80端口
查看>>
【OCP题库-12c】最新CUUG OCP 071考试题库(70题)
查看>>
基于GTID多源复制扩展
查看>>
用SignalR 2.0开发客服系统[系列2:实现聊天室]
查看>>
08面向对象强化
查看>>
好用app
查看>>
页面广告(div)
查看>>
Geoserver汉语版出来啦!!
查看>>
jsp引入struts标签,引入自己写的jquery需要注意的问题
查看>>
Spring Cloud限流详解
查看>>
Numpy求均值、中位数、众数的方法
查看>>
mapreduce 的过程
查看>>
collecitons.deque
查看>>
grunt入门讲解3:实例讲解使用 Gruntfile 配置任务
查看>>
centos7/rhel7安装较高版本ruby2.2/2.3/2.4+
查看>>
Project Euler Problem 17 Number letter counts
查看>>
Oracle数据库,用户的创建及表的创建
查看>>
J2EE--Struts2基础开发笔记
查看>>
css_文本溢出
查看>>
CSS3 background属性
查看>>