版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲教师:魏巍巍北京信息职业技术学院数据库技术与应用二进制日志创建采集任务01二进制日志01目录CONTENTS二进制日志01Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.二进制日志是MySQL重要的日志之一,用于记录修改数据或有可能引起数据改变的MySQL语句,像select、show这种不会修改数据的语句,二进制日志是不会记录的。二进制日志的主要作用:可以完成主从复制功能。主服务器把所有修改数据的操作记录到二进制日志中,从服务器请求主服务器的二进制日志中的事件,然后从服务器再在本地将事件进行回放,从而达到主从复制的目的。进行恢复操作。数据可以通过二进制日志,使用mysqlbinlog命令,实现基于时间点的恢复。二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.在my.ini中使用配置参数log_bin=/PATH/LOG_FILE可以启用二进制日志如果没有设置log_bin,则为OFFSHOWGLOBALVARIABLESLIKE'%log%';二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.mysql-bin是二进制日志文件的文件名前缀,后面的数字是二进制日志的序列号,号码是按顺序来排列的,每次启动MySQL、重启MySQL、刷新日志(flushlogs)或是到达了max_binlog_size值的大小,就会滚动binlog,生成一个新的binlog文件。mysql-bin.index文件是binlog的索引文件,用来记录产生的二进制日志的序列号。二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.相关的变量:max_binlog_size:该参数制定了binlog的最大值,如果超过该值会自动生成新的binlog文件(重启MySQL实例也会滚动binlog)。从MySQL5.0开始,该值的默认值为1G。注意:一般情况下,生产线上我们binlog的生成时间的最小间隔保持在2-5分钟,所以该参数不要太大,可以调整为256MB。二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.相关的变量:binlog_cache_size:所有未提交的事务会记录到一个缓存中,等待事务提交时,直接将缓存中的二进制日志写入到二进制日志文件。该缓存大小由binlog_cache_size的值来决定,它的默认大小是32KB,并且binlog_cache_size是基于会话的,也就说当一个线程要开始一个事务时,MySQL会自动分配一个该值大小的缓存。二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.相关的变量:binlog_formatbinlog_format:代表二进制日志的记录格式,binlog的格式有statement、row、mixed三种。生产线上为保险起见,一般给row。
statement:每一条会修改数据的SQL语句会记录到binlog中,不建议生产线上使用。优点:并不需要记录每一行的数据变化,减少了binlog的日志量,节约I/O,提高性能。缺点:在某些情况下会导致master-slave中数据不一致。
二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.相关的变量:row:不记录每条SQL语句的上下文信息,仅仅记录哪条数据被修改了,然后修改成什么样了。5.6以后新增了一个参数binlog_rows_query_log_events,设置该参数,也可以在row模式下,看见用户的完整SQL语句。优点:任何情况下都可以被复制,可以保证数据的精确性,这对主从复制来说是最安全可靠的。缺点:会产生大量的日志。mixed:混合使用row和statement格式。对于statement无法复制的操作使用row模式保存binlog,mysql会依据SQL语句来自行判断所保存的日志格式。不推荐使用。二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.相关的变量:sync_binlog:当innodb_flush_log_at_trx_commit=1时,表示事务提交时,事务日志立马从内存刷到磁盘中的事务日志文件中,而sync_binlog对于二进制日志的作用,就像innodb_flush_log_at_trx_commit对于事务日志的作用,由于二进制日志一开始存在于内存(binlog_cache)中,如果将sync_binlog=1,则表示每一次事务提交之后,都会将内存中的二进制日志立即同步到磁盘中的二进制日志文件中。二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.相关的变量:如果将sync_binlog=0,则表示事务提交之后,MySQL不会记录将内存中的binlog刷写到磁盘中的binlog日志文件中,而是由文件系统决定什么时候刷写,这可能取决于文件系统的缓存机制。为了保证安全性,我们可以将sync_binlog=1。为了获得最佳性能,而不考虑安全性,可以将该值设为0。将sync_binlog=1和innodb_flush_log_at_trx_commit=1,这就是MySQL的双一模式,可以保证数据库的安全性。二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.相关的变量:expire_logs_days:二进制日志过期时间,单位为天,默认为0。一般情况下,我们可以设置的时间长一点。binlog_do_db和binlog_ignore_db:表示需要写入或忽略哪些库的二进制日志,默认为空,表示将所有库的操作都记录到二进制日志。log_slave_updates:级联复制。二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.查看所有二进制日志showbinarylogs;二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.查看指定的二进制日志showbinlogeventsin'SC-201902120851-bin.000001'\G二进制日志Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.二进制日志会记录大量的信息,如果很长时间不清理二进制日志,将会浪费很多的磁盘空间。但是删除之后可能导致数据库崩溃时无法进行恢复,所以要删除二进制日志首先将其和数据库备份一份,其中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海市安全员C证考试(专职安全员)题库附答案
- 贵州城市职业学院《中级财务会计Ⅱ》2023-2024学年第一学期期末试卷
- 贵州财经大学《面料认知与再造》2023-2024学年第一学期期末试卷
- 贵阳学院《音乐作品分析(一)》2023-2024学年第一学期期末试卷
- 2025黑龙江建筑安全员-C证(专职安全员)考试题库
- 贵阳信息科技学院《东方文学专题研究》2023-2024学年第一学期期末试卷
- 2025湖北省安全员B证(项目经理)考试题库
- 2025年湖南省建筑安全员知识题库附答案
- 广州幼儿师范高等专科学校《灯光造型》2023-2024学年第一学期期末试卷
- 广州新华学院《接口自动化》2023-2024学年第一学期期末试卷
- 公司客户服务应急预案
- 三年级道德与法制上学期期末考试质量分析集合3篇
- 水工-建筑物课件
- 装修增减项单模板
- 张克非《公共关系学》(修订版)笔记和课后习题详解
- 湖北高校毕业生就业协议书填写格式说明样表
- 江西省商品混凝土企业名录
- 毒理学第三章化学毒物在体内的生物转运和生物转化
- 企业年会活动抽奖滚动抽奖经典创意高端模板课件
- 技术资料检查评分表
- 轴联轴器离合器解析课件
评论
0/150
提交评论