MySQL 5.6引入的GTID(Global Transaction IDs)使得其复制功能的配置、监控及管理变得更加易于实现,且更加健壮。
要在MySQL 5.6中使用复制功能,其服务配置段[mysqld]中致少应该定义如下选项:
binlog-format:二进制日志的格式,有row、statement和mixed几种类型;
log-slave-updates、gtid-mode、enforce-gtid-consistency、report-port和report-host:用于启动GTID及满足附属的其它需求;
master-info-repository和relay-log-info-repository:启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能;
sync-master-info:启用之可确保无信息丢失;
slave-paralles-workers:设定从服务器的SQL线程数;0表示关闭多线程复制功能;
binlog-checksum、master-verify-checksum和slave-sql-verify-checksum:启用复制有关的所有校验功能;
binlog-rows-query-log-events:启用之可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度;
log-bin:启用二进制日志,这是保证复制功能的基本前提;
server-id:同一个复制拓扑中的所有服务器的id号必须惟一;
简单主从模式配置步骤:
<code>1、配置主从节点的服务配置文件</code>
<code>1.1、配置master节点:</code>
<code>[mysqld]</code>
<code>binlog-</code><code>format</code><code>=ROW</code>
<code>log-bin=master-bin</code>
<code>log-slave-updates=</code><code>true</code>
<code>gtid-mode=on </code>
<code>enforce-gtid-consistency=</code><code>true</code>
<code>master-info-repository=TABLE</code>
<code>relay-log-info-repository=TABLE</code>
<code>sync</code><code>-master-info=1</code>
<code>slave-parallel-workers=2</code>
<code>binlog-checksum=CRC32</code>
<code>master-verify-checksum=1</code>
<code>slave-sql-verify-checksum=1</code>
<code>binlog-rows-query-log_events=1</code>
<code>server-</code><code>id</code><code>=1</code>
<code>report-port=3306</code>
<code>port=3306</code>
<code>datadir=</code><code>/mydata/data</code>
<code>socket=</code><code>/tmp/mysql</code><code>.sock</code>
<code>report-host=master.magedu.com</code>
<code>1.2、配置slave节点:</code>
<code>server-</code><code>id</code><code>=11</code>
<code>log-bin=mysql-bin.log</code>
<code>report-host=slave.magedu.com</code>
<code>2、创建复制用户</code>
<code>mysql> GRANT REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY </code><code>'replpass'</code><code>;</code>
<code>说明:172.16.100.7是从节点服务器;如果想一次性授权更多的节点,可以自行根据需要修改;</code>
<code>3、为备节点提供初始数据集</code>
<code>锁定主表,备份主节点上的数据,将其还原至从节点;</code>
<code>如果没有启用GTID,在备份时需要在master上使用show master status命令</code>
<code>查看二进制日志文件名称及事件位置,以便后面启动slave节点时使用。</code>
<code>4、启动从节点的复制线程</code>
<code>如果启用了GTID功能,则使用如下命令:</code>
<code>mysql> CHANGE MASTER TO MASTER_HOST=</code><code>'master.magedu.com'</code><code>, MASTER_USER=</code><code>'repluser'</code><code>, MASTER_PASSWORD=</code><code>'replpass'</code><code>, MASTER_AUTO_POSITION=1;</code>
<code>没启用GTID,需要使用如下命令:</code>
<code>slave> CHANGE MASTER TO MASTER_HOST=</code><code>'172.16.100.6'</code><code>,</code>
<code>-> MASTER_USER=</code><code>'repluser'</code><code>,</code>
<code>-> MASTER_PASSWORD=</code><code>'replpass'</code><code>,</code>
<code>-> MASTER_LOG_FILE=</code><code>'master-bin.000003'</code><code>,</code>
<code>-> MASTER_LOG_POS=1174;</code>
本文转自limingyu0312 51CTO博客,原文链接:http://blog.51cto.com/limingyu/1936494,如需转载请自行联系原作者