MySql binlog配置

配置MySQL binlog是实现主从复制的关键步骤。需要在my.cnf文件中添加相关配置,然后重启服务器。通过检查binlog记录来确认配置是否成功。如果数据库使用InnoDB引擎,为确保数据一致性,还需要额外的配置设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你的数据库要进行主从复制,就必须要配置binlog。

需要在my.cfg(/etc/my.cnf)里添加:

[mysqld]
#binlog日志名称前缀
log-bin=mysql-bin
#默认值未0,如果使用默认值则不能和从节点通信,这个值的区间是:1到(2^32)-1
server-id=1

配置后,重启服务器!验证binlog是否配置成功:

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.01 sec)

查看binlog记录:

 show binlog events \G;
*************************** 1. row ***************************
   Log_name: mysql-bin.000001
        Pos: 4
 Event_type: Format_desc
  Server_id: 1
End_log_pos: 124
       Info: Server ver: 8.0.13, Binlog ver: 4
*************************** 2. row ***************************
   Log_name: mysql-bin.000001
        Pos: 124
 Event_type: Previous_gtids
  Server_id: 1
End_log_pos: 155
   Info: 

如果是使用innodb作为存储引擎,而要最好的一致性和持久,需要在my.cnf添加:

#每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认
innodb_flush_log_at_trx_commit=1 
#默认:0,表示MySQL不控制binlog的刷新,由文件系统自己控制它的缓存的刷新,如果这期间服务器crash,则会丢失部分数据,性能最高,
#如果配置为1,则表示每次事务提交都会刷新到磁盘,最安全,性能损耗较高
sync_binlog=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值