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,如需轉載請自行聯系原作者