Mysql-主从-binlog-格式,参数(三)
短信预约 -IT技能 免费直播动态提醒
日志格式
-
ROW:
基于【数据行】的模式,就是把所有变化的数据记录下来:
- 优点: 稳定不会有bug
- 缺点: 日志文件大
-
STATEMENT:
基于【sql语句】的模式,就是把所有的执行的sql语句记录下来
- 优点:日志文件小
- 缺点: 可能会有mysql版本不同函数执行异常的bug,比如: sleep
-
MIXED
混合模式: 前两种模式的混合,根据具体sql,mysql内部自动选择,而且对【ROW模式】进行了优化
-
查看当前类型:
show variables like 'binlog_format';
-
修改模式-语句模式:
vim /etc/my.cnf binlog_format=STATEMENT
查看binlog内容:
// 普通查看:
mysqlbinlog mysql.bin.0003
// 显示具体执行信息:
mysqlbinlog mysql.bin.0003 -v
// 去掉base64符号:
mysqlbinlog mysql.bin.0003 -v --base64-output=decode
过滤参数
一般不在主上做限制,给从库做限制
#### 参数(my.cnf):
#主库(binlog日志记录过滤):
binlog-do-db #只复制-指定的数据库
binlog-ignore-db #不复制-指定的数据库
#从库(中继日志记录过滤):
replicate_do_db #只复制-指定的数据库
replicate_ignore_db #不复制-指定的数据库
replicate_do_table #只复制-指定的数据表
replicate_ignore_table #不复制-指定的数据表
replicate_wild_do_table #只复制-指定的数据表,使用【通配符】
replicate_wild_ignore_table #不复制-指定的数据表,使用【通配符】
示例配置:
# 1.【从库】,只复制【xh库】,排除掉【user表】
replicate_do_db=xh
replicate_ignore_table=xh.user
# 2.【从库】,只复制【xh库】,排除掉以test开头的表
replicate_do_db=xh
replicate_wild_ignore_table=xh.test%
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341