2019独角兽企业重金招聘Python工程师标准>>>

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://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~

本文出自 “永不放弃!任志远” 博客,请务必保留此出处http://renzhiyuan.blog.51cto.com/10433137/1762539

转载于:https://my.oschina.net/learnbo/blog/907130

MySQL的log_bin和sql_log_bin 到底有什么区别?相关推荐

  1. mysql explain 的using where 到底是什么意思?

    转自mysql explain 的using where 到底是什么意思? - SegmentFault 思否 https://segmentfault.com/q/1010000007000995 ...

  2. MySQL在RR级别下到底有没有修复幻读

    微信搜索"coder-home"或扫一扫下面的二维码,关注公众号,第一时间了解更多干货分享,还有各类视频教程资源.扫描它,带走我 文章目录 背景 疑问点 分析 什么是快照读 开启事 ...

  3. PHP中MySQL、MySQLi和PDO的用法和区别

    MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension.MySQLi 的 i 代表 Improvement ,提供了相对进阶的功能,就 Extension 而言,本身也增加了安全 ...

  4. MySQL的count(*) ,count(1),count(id)的区别

    数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查. 在数据库的增删改查操作中,使用最频繁的就是查询操作.而在所有查询操作中,统计数量操作更 ...

  5. 一直搞不清楚in和exists两者到底有什么区别,今天总算搞清楚了

    使用MySql查询数据时,一直搞不清楚in和exists两者到底有什么区别,今天总算搞清楚了. 大概规则如下: 当B表的数据集小于A表数据集时,用in优于exists. select id from ...

  6. attachEvent 与addEventListener到底有什么区别呢?

    2019独角兽企业重金招聘Python工程师标准>>> attachEvent 与addEventListener到底有什么区别呢?总结如下: 一.适应的浏览器版本不同 attach ...

  7. Union和Union All到底有什么区别

    转自:https://www.cnblogs.com/wen-zi/p/9133754.html 以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面 ...

  8. Oracle与Mysql主键、索引及分页的区别小结

    Oracle与Mysql主键.索引及分页的区别,学习oracle的朋友可以参考下 区别: 1.主键,Oracle不可以实现自增,mysql可以实现自增. oracle新建序列,SEQ_USER_Id. ...

  9. Mysql之drop、truncate和delete的区别

    一.delete 1.delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表 ...

最新文章

  1. PennyLane | 用于量子计算机可微分编程的跨平台Python库
  2. 07/11/13 资料整理
  3. js svg语音波动动画_SVG实现环形进度条的原理
  4. 深入浅出之正则表达式(一)
  5. Application对象 简单的聊天室
  6. webstorm 设置js或者html文件自动缩进为4个空格不生效
  7. 如何生成有向图_八十六、从拓扑排序探究有向图
  8. 最大子序和--动态规划
  9. yolov5论文叫什么_熬夜写论文是一种怎样的体验
  10. react-native-echarts 解决数据刷新闪烁,不能动态连续绘制问题(转载)
  11. java音乐网站源码_Vue + SpringBoot + MyBatis 音乐网站
  12. Vista v12.0 Win32-ISO 1DVD(地震数据处理)
  13. 在中国mapinfo电子地图中添加投影教程
  14. Microsoft JET Database Engine 错误 '80004005' 操作必须使用一个可更新的查询。问题解决办法
  15. 知识分享 | 卡方分析的入门小知识
  16. 微信app支付 服务器接口,iOS微信支付——APP调用微信支付接口
  17. 计算机二级主要是学什么,计算机二级ms office考的都是什么内容
  18. 大数据平台Ambari2.7.4+HDP3.1.4安装(超详细教程)
  19. 5V升压充电8.4V芯片HU5914
  20. 播放FLV文件的方法

热门文章

  1. [Win7]如何还原[.bat]文件关联
  2. 如何免费(轻成本)在网上做推广宣传
  3. compass安装使用960 Grid System
  4. 開始Unity3D的学习之旅
  5. windows server 2012 用sysdba登录报错 ORA-01031
  6. AWS开源Firecracker,一种运行多租户容器服务的新虚拟化技术
  7. 基于tcp和udp的socket实现
  8. ArcEngine 直连连接SDE
  9. log4j个人使用整理
  10. 走在网页游戏开发的路上(八)