Mysql如何配置BinLog?

注意:

建议配置进行cdc同步的数据库为从库而非日常进行增删改查的主库;若只能使用主库进行cdc同步的话,则建议降低同步速率,减小对DML操作的影响。

Linux环境

  1. 修改my.cnf
log_bin = MYON // 任意名称均可,只要配置了名称即开启binlog
server-id = 123 // 配置与其它server不同的id
binlog-format = row // 设置binlog模式为row// ------------可选配置项
binlog_ignore_db = *** //指定不记录二进制日志的数据库
binlog_do_db = *** //明确指定要记录日志的数据库
log_bin_index = *** //指定mysql-bin.index文件的路径
  1. 重启mysql
  2. 进入mysql修改binlog_row_image为full
set global binlog_row_image="full";
  1. 查看binlog开启是否生效
show variables like '%log_bin%';(需要设置为ON)
  1. 查看binlog模式和binlog_row_image配置
show global variables like '%binlog_format%';(需要设置为ROW模式)
show variables like '%binlog_row_image%';(需要设置为FULL)
  1. 创建用户和赋权
> create user 'dp_test'@'%' identified by '12345678';
> grant SELECT on mysql.db to 'dp_test'@'%';
> grant SELECT on mysql.tables_priv to 'dp_test'@'%';
> grant SELECT on mysql.user to 'dp_test'@'%';
> grant SELECT on test.* to 'dp_test'@'%';
> grant LOCK TABLES on test.* to 'dp_test'@'%';
> GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'dp_test' IDENTIFIED BY '12345678';
> flush privileges;

Windows环境

windows环境下的binlog配置除了修改的文件不一致(linux为my.cnf文件,windows为my.ini文件),其余操作均相同。

  1. 修改my.ini文件
log_bin = MYON // 任意名称均可,只要配置了名称即开启binlog
server-id = 123 // 配置与其它server不同的id
binlog-format = row // 设置binlog模式为row

(其余操作均与linux环境下的配置相同,此处省略)

mysql配置主库从库

  1. 搭建两个数据库,并设置各自的数据存放目录
  2. 将其中一个数据库作为master主库,在master my.cnf文件中配置
[mysqld]
server_id = 1
log-bin= mysql-bin # 开启binlog
read-only=0 # 主库支持修改
replicate-ignore-db=mysql # 不备份的数据库
replicate-ignore-db=sys
replicate-ignore-db=information_schema  # 备份的数据库
replicate-ignore-db=performance_schema
  1. 另一个数据库作为slave从库,在slave my.cnf文件中配置
[mysqld]
server_id = 2
log-bin= mysql-bin
read-only=1 # 从库read-only
# 备份数据库设置需与主库一致
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
  1. 在master数据库中创建用户同步数据,每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE 权限。
CREATE USER 'slave'@ '%' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456';
# 查看状态,记住file、position的值
show master status;
  1. 在slave数据库中设置主库连接并启动同步。
# 设置主库链接
change master to master_host='(主库ip)',master_user='slave',master_password='123456',master_log_file='主库状态的file值',master_log_pos='主库状态的position',master_port=3306;
# 启动从库同步
start slave;
# 查看状态
show slave status;

如果主库和从库的status都为yes,则配置成功。

注意事项

在主从没有生效的时候,要保持两台服务器数据库、表相同,数据相同。

来源参考:https://www.cnblogs.com/jinjiangongzuoshi/p/9299275.html
官网指引:http://www.youtube.com/watch?v=N3tFISmtn7A

【mysql】【binlog】mysql配置binlog相关推荐

  1. mysql 实例启动利用binlog恢复_mysql利用binlog进行数据恢复

    mysql利用binlog进行数据恢复 最近线上误操作了一个数据,由于是直接修改的数据库,所有唯一的恢复方式就在mysql的binlog.binlog使用的是ROW模式,即受影响的每条记录都会生成一个 ...

  2. 必须了解的MySQL三大日志:binlog、redo log和undo log

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者: 六点半起床 juejin.im/post/68602522 ...

  3. mysql 写binlog 原理_MySQL binlog原理及应用

    01 概述 Binlog它记录了所有的DDL和DML(除了数据查询语句)语句,以事件(EVENT)形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. 一般来说开启二进制日志 ...

  4. MYSQL专题-MySQL三大日志binlog、redo log和undo log

    日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息.mysql日志主要包括重做日志(redo log).回滚日志(undo log).二进制日志(bin log).错误日志(err ...

  5. mysql重做日志与binlog日志区别_MySQL日志之binlog、redo log、undo log

    1. binlog(二进制日志) 1.1 binlog介绍 binlog记录了对数据库执行更改的所有操作(不包括查询),还包括了执行数据库更改操作的时间和执行时间等信息.binlog主要有两个作用:恢 ...

  6. mysql binlog线程恢复_使用MySQL SQL线程回放Binlog实现恢复

    [toc] 1. 需求部分 1.1 基于MySQL复制同步特性,尝试使用Replication的SQL线程来回放binlog,可基于以下逻辑模拟场景 做全量xtrabackup备份模拟日常备份 执行s ...

  7. 使用MTS加快mysql奔溃后binlog恢复

    场景是这样的:有一个mysql库,5.7.29版本的,被任务操作误删除了,需要恢复.但是日常的备份操作因为没有安装xtrabackup热备工具,导致日常的全备曾备没有正常进行,好在binlog基本都有 ...

  8. MySQL日志篇,MySQL日志之binlog日志,binlog日志详解

    视频地址 https://www.bilibili.com/video/BV1oT4y1o7TW 一.描述 binlog 二进制日志文件,这个文件记录了MySQL所有的DML操作.通过binlog日志 ...

  9. Mysql binlog日志及binlog恢复数据库操作

    初识MySQL 日志binlog MySQL重要log,二进制日志文件,记录所有DDL和DML语句(除select),事件形式记录,包含语句所执行的消耗时间,事务安全型. DDL(数据库定义语言),主 ...

最新文章

  1. 点击 UITableView 隐藏键盘
  2. DCMTK:测试CT Table Dynamics FG类
  3. 将长方形木框拉成平行四边形_【减负提质进行时】平行四边形的面积再思考
  4. Collections.binarySearch用法
  5. linux c read函数返回值,Linuxc - GNU Readline 库及编程简介
  6. C/C++ getchar函数 - C语言零基础入门教程
  7. 《自己动手写操作系统》读书笔记——初识保护模式
  8. ubuntu面板的图标混乱
  9. JavaScript/jQuery 表单美化插件小结
  10. k-d tree学习总结
  11. IntelliCAD 2009 Pro Plus v6.4.23.2 1CD
  12. vs code 小霸王插件本地nes游戏加载
  13. SCM供应链管理系统解决方案:助力企业采购流程高效运行,全面降低供应链风险
  14. java如何获取wsdl文件,如何使用Java获取WSDL文件中的复杂类型?
  15. mysql英文版怎么调中文_MySQL英文版的使用
  16. CocosCreator新手游戏开发指南(真小白)超详细 逐行注释
  17. VARCHART XGantt 应用程序支持简介
  18. 电力网络安全监测装置_10月 长沙 电力监控系统安全防护技术研修班
  19. 使用USB Key Utility工具制作bootable USB Key
  20. 大前研一,柳井正《放胆去闯》读书笔记

热门文章

  1. 质因数知识以及相关代码(C语言)
  2. php sleep usleep,php中sleep()和usleep()函数使用对比
  3. 如何进入PE系统(请点击)
  4. Android-PickerView系列之源码解析篇(二)
  5. 如何创建数据链接文件
  6. 树莓派3b+安装ubuntu 16.04+ROS kinetic过程详解及踩坑总结
  7. leveldb 详解
  8. C#中Atan()与Atan2()
  9. Xcode更新的那些事儿
  10. 为什么 128 KB 的魂斗罗可以实现那么长的剧情?