(4.5)mysql备份还原——深入解析二进制日志(binlog)
关键词:二进制日志,binlog日志
0、建议
(1)不建议随便去修改binlog格式(数据库级别)
(2)binlog日志的清理
【2.1】过期日志天数:show variables like 'expire_logs_days';
【2.2】手工切换成新的日志文件:flush log;
(3)手工直接清除:purge binary log to 'bin-log.00003' 详细参考:https://www.cnblogs.com/gered/p/10471673.html
(4)全清reset master;
1、binlog二进制日志简介
这个文件记录了mysql数据库所有的dml,ddl语句事件(不包含select)。记录增删改,也可以记录SQL语句及行记录变化,还可以记录这些操作事件;
三种日志的区别:
(1)general log:记录数据库里的所有SQL操作记录
(2)redo log:只记录innodb存储引擎的修改日志
(3)binlog:只记录server层面内部的修改情况。--select /show 不记录
2、开启binlog二进制日志有什么好处?
(1)mysql主从复制,通过binlog实现数据复制
(2)数据恢复:可以基于时间点恢复,以及根据其进行增量与差异备份
3、mysql binlog的三种工作模式
binlog_format
【3.1】row level(默认级别:mysql5.7.6之后+8.0)
日志中记录每一行数据修改的情况;
(1)有点:可以更方便查看每一条数据修改的细节 (2)缺点:数据量比较大
使用场景:希望数据最安全,复制强一致。
【3.2】statement level(默认级别:Mysql5.7.6之前)
记录每一条修改的SQL
(1)优点:解决了数据量比较大的问题 (2)缺点:容易出现主从复制不一致
使用场景:使用mysql的功能比较少,又不使用存储过程/触发器/函数
【3.3】mixed(混合模式)
结合 row level 与statement level的优点
一般情况下都使用statement,但是如果隔离级别设置为RC,那么一般会使用row
不建议使用,还不如使用row level
4、配置mysql binlog二进制日志
【4.1】查看
show variables like '%log_bin%';
show variables like '%binlog%';
show variables like '%server%';
【4.2】参数配置
[mysqld]
server_id= #服务ID,主从必须不一致。(建议数字:ip+端口) 5.7.3以后版本,必须加
#目录必须存在且授权好,binlog为索引文件,实际文件会自动根据索引文件建立如binlog.
log_bin=/mysql/log//binlog
log_bin_index=/mysql/log//binlog.index #不设置的话,会根据log_bin值名称自动生成binlog.index
binlog_format='row' #(row,statement,mixed) #3种模式
binlog_rows_query_log_events=on #打开才能查看详细记录
expire_logs_days=10 #表示自动删除10天以前的日志
max_binlog_size=100M #表示单个二进制文件的最大值为100M,如果有大事务可能会超出最大值
binlog_row_image=full #(full,minimal,noblob),分别表示binlog中内容全记录,只记录被操作的,和不记录二进制
(4.7)mysql备份还原——深入解析二进制日志(3)binlog的三种日志记录模式详解
关键词:binlog模式,binlog,二进制日志,binlog日志 目录概述 0.binlog概述 查看binlog日志参数设置: show variables like '%log_bin%'; ...
(4.6)mysql备份还原——深入解析二进制日志(2)binlog参数配置解析
关键词:binlog配置,binlog参数,二进制日志配置,二进制文件参数配置 关键词:binlog缓存,binlog 刷新 0.bin写入流程 写binlog流程如下:# 数据操作buffer po ...
MySQL二进制日志文件Binlog的三种格式以及对应的主从复制中三种技术
二进制日志文件Binlog的格式主要有三种: 1.Statement:基于SQL语句级别的Binlog,每条修改数据的SQL都会保存到Binlog里面. 2.ROW:基于行级别,每一行数据的变化都会记 ...
(4.3)mysql备份还原——mysql备份策略
(4.3)mysql备份还原——mysql备份策略 1.指定备份策略时需要考虑的点 [1.1]备份周期:2次备份间隔时长 [1.2]备份方式:在备份周期中,使用什么备份方式.备份模式 [1.3]实现方 ...
基于xtrabackup实现mysql备份还原
简介 Xtrabackup2.2版之前包括4个可执行文件: innobackupex: Perl 脚本 xtrabackup: C/C++ 编译的二进制 xbstream: 支持并发写的流文件格式 x ...
(4.8)mysql备份还原——binlog查看工具之show binlog的使用
(4.8)mysql备份还原——binlog查看工具之mysqlbinlog及show binlog的使用 关键词:show binlog,mysql binlog查看,二进制文件查看,binlog查 ...
(4.1)mysql备份还原——mysql常见故障
(4.1)mysql备份还原——mysql常见故障 1.常见故障类型 在数据库环境中,常见故障类型: 语句失败,用户进程失败,用户错误 实例失败,介质故障,网络故障 其中最严重的故障主要是用户错误和介 ...
MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结
MySQL中有六种日志文件,分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log).一 ...
随机推荐
耿丹CS16-2班第三次作业汇总
-- Deadline: 2016-10-12 22:48 -- 作业内容: 1.实验2-6 猜数字游戏 2.实验2-7 判断能否为三角形 3.实验2-8 个人所得税计算器 -- 第三次作业总结: 1 ...
maven的pom.xml配置
添加tomcat插件配置: org.apache.tomcat.maven< ...
去除inline-block元素间间距的N种方法
这篇文章发布于 2012年04月24日,星期二,22:38,归类于 css相关. 阅读 147771 次, 今日 52 次 by zhangxinxu from http://www.zhangxin ...
(整理)C#实现UDP广播
(一) IP地址解析 IP地址的类型:XXX.XXX.XXX.XXXA类: 1.0.0.1--126.255.255.254 最高位是0: 1个字节的网络地址和3个地址的主机地址 测试地址:127.X ...
修改MySQL数据库的密码
通过MySQL命令行,可以修改MySQL数据库的密码,下面就为您详细介绍该MySQL命令行,如果您感兴趣的话,不妨一看. 格式:mysql -u用户名 -p旧密码 password 新密码 1.给ro ...
关于php正则表达式模式修饰符
一直以来,以为自己的正则表达式学的还算可以(基本工作上遇到的问题都能解决),但有时候却是知其然而不知其所以然,在网上看到这篇文章,解释了之前的很多疑问,记录下来,随时温故而知新. i (PCRE_CA ...
Linux进程管理描述符 task_struct
转:http://blog.csdn.net/hongchangfirst/article/details/7075026 大家都知道进程,可是知道linux是怎么管理其进程的吗?每一个进程都有一个进 ...
LauncherModel.Callbacks接口
public interface Callbacks { //如果Launcher在加载完成之前被强制暂停,那么需要通过这个回调方法通知 //launcher,在它再次显示的时候重新执行加载过程 pu ...
12 SharedPreferences
SharedPreferences 创建方式 SharedPreferences preferences = getPreferences(Context context ,int mode); 参数 ...
Android切换横竖屏不销毁前台Activity,也不影响后台Activity
在切换屏幕方向的时候,Activity默认会走销毁->重建的生命周期,而有时候我们不希望如此,就需要做些额外的设置了: 1.在AndroidMainifest.xml中对应的Activity标签 ...