美文网首页
MySQL复制3--配置Master

MySQL复制3--配置Master

作者: 8813d76fee36 | 来源:发表于2018-01-23 18:33 被阅读11次

为了让master能够启用基于binary log file position的复制,需要在master开启binary logging并创建一个唯一的server ID。

必须在master开启binary logging是因为binary log是master向slave复制更改的基础。如果master没有使用log-bin选项开启binary logging,复制将无法实现。

每个在复制群组里的服务器必须配置一个唯一的server ID。这个ID用于标示在群组内的服务器,而且ID的取值必须是正整数(1 至 (232)−1),具体取哪个值由自己决定。

为了配置binary log和server ID,需要先停止MySQL服务,然后编辑my.cnfmy.ini文件。在该文件中加入log-binserver-id选项。如果文件中已包含上述两项但被注释掉了,请放开注释并根据需要配置他们的参数。

  • 例如
    启动binary logging并使用mysql-bin作为日志文件名的前缀,同时将server ID设置为1。
[mysqld]
log-bin=mysql-bin
server-id=1

保存设置并重启MySQL服务。

注意

  • 如果不设置server-id或者将它设置为默认值0,master会拒绝slave的连接。
  • 为了更好地保证复制的持久性和一致性,使用InnoDB事务。应该在my.cnf中设置innodb_flush_log_at_trx_commit=1sync_binlog=1
  • 确保master没有开启skip-networking选项,否则slave不能与master对话,复制也将失败。

附录

  • server-id属性


    server-id属性
  • InnoDB资料
  • skip-networking介绍


    skip-networking

后记

  • 以上关于master的配置必须写在/etc/my.cnf文件中的[mysqld]节点下
    mysqld节点
  • 若不自定义binnary log的名称,直接放开my.cnflog_bin注解即可,此时的binnary log的名称为hostname-bin.xxx。若指定名称,则使用log-bin=xxx。注意log与bin之间,前者是下划线,后者是横杠。
  • MySQL建议使用log-bin为binary log指定名称,否则当master主机名更改时会导致复制失败。同时建议配置log-bin-index,其值为binary log的文件名。
    Warning
    log-bin-index
MySQL建议配置

参考资料
Setting the Replication Master Configuration

相关文章

网友评论

      本文标题:MySQL复制3--配置Master

      本文链接:https://www.haomeiwen.com/subject/fczsaxtx.html