您的位置:首页 > 数据库 > MySQL

Mysql,log_bin 与 sql_log_bin的区别

2018-01-13 14:09 886 查看
log_bin:二进制日志。

说白了,就是把把在mysql里面执行的语句,记录在二进制日志里面而已。

那么这些二进制日志有什么作用,你知道吗?

1:数据恢复 

如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。 而且,你也可以利用二进制日志来还原你误操作的数据库。不过具体怎么操作还需要学的哟!

2:主从服务器之间同步数据 

主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。因此,我们经常做的mysql-salva也是利用master的二进制日志来和master数据一致的。

二进制日志一般都不小,要是想关闭怎么办呢?

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

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

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

用处:

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

也可以动态命令关闭sql_log_bin,然后导入数据库。

转自:https://www.iyunv.com/thread-202950-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息