MySQL5.6基於GTID同步複製,與如何?MySQL負載平衡、讀寫分離。

來源:互聯網
上載者:User

標籤:伺服器   資料庫   二進位   記錄   如何   

    MySQL想必大家都不陌生,之前文章也有介紹同步複製與半同步複製,今天先來瞭解下什麼是GTID。


GTID(global transaction ID)全域事務ID,是由伺服器的UUID+一段隨機數事務ID。

特性:從伺服器從主伺服器複製過來的事務,GTID不變,也就是說一個事務在全域複製架構中的ID不變。

有什麼用:

    在MySQL叢集中,當Master故障時,需要從Slave中挑選一個提升為Master可以基於GTID對比其他Slave來保證資料的一致性。


MySQL主從同步如何配置資料過濾

主伺服器配置:

Binlog-do-db   //指定要記錄二進位日誌的資料庫

Binlog-ignore-db  //指定要忽略記錄二進位日誌的資料庫


從伺服器配置:

Replicate-do-table=   //指定要記錄二進位日誌的表

Replicate-ignore-table=  //指定要忽略記錄二進位日誌的表

Replicate-do-db=  //指定要記錄二進位日誌的資料庫

Replicate-ignore-db=  //指定要忽略記錄二進位日誌的資料庫

Replicate-wild-do-table=  //指定要記錄二進位日誌的表(支援萬用字元)

Replicate-wild-ignore-table=  //指定要忽略記錄二進位日誌的表(支援萬用字元)


實驗一、配置一個基於GTID的MySQL主從複製架構。

實驗環境:RHEL6.4+MySQL5.6

    Master:192.168.18.201 admin1.tuchao.com 

    Slave: 192.168.18.202 admin2.tuchao.com

安裝和啟動MySQL過程和之前都一樣(略)


Master配置:

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 2
datadir=/mydata
log-bin=mysql-bin
innodb_file_per_table = 1

binlog-format=ROW  //設定二進位日誌格式
log-slave-updates=true //是否記錄從伺服器同步資料動作

gtid-mode=on //啟用Gtid模式

enforce-gtid-consistency=true //是否強制GTID的一致性

master-info-repository=TABLE //master資訊的記錄位置

relay-log-info-repository=TABLE //中繼日誌資訊的記錄位置

sync-master-info=1
slave-parallel-workers=2 //設定從伺服器複製線程數

binlog-checksum=CRC32 //設定binlog校正演算法(迴圈冗餘校正碼)

master-verify-checksum=1 //設定主伺服器是否校正

slave-sql-verify-checksum=1 //設定從伺服器是否校正

binlog-rows-query-log_events=1
server-id       = 10
report-port=3306
report-host=admin1.tuchao.com //設定報告給哪台伺服器,一般設定為原生主機名稱。


Slave配置:

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 2
datadir=/data
log-bin=mysql-bin
innodb_file_per_table = 1

binlog-format=ROW
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id       = 20
report-port=3306
report-host=admin2.tuchao.com


其實master和slave配置幾乎相同, 只需要修改幾個參數我在上面用紅色字型做了標記,如server-id ,report-host等。


在Master上授權複製許可權的使用者

  • grant replication slave,replication client on *.* to ‘repluser‘@‘192.168.18.202‘ identified by ‘123456‘;

啟動slave複製線程

  • change master to master_host=‘admin1.tuchao.com‘,master_user=‘repluser‘,master_password=‘123456‘,master_auto_position=1;

  • start slave;

查看警告資訊

  • Show warnings

查看Slave狀態

  • show slave status\G

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/46/B9/wKiom1P0HVHiLPJBAAIUhlZFM00896.jpg" title="_6XYD}_C75DYC8LJ@3YM7M5.jpg" alt="wKiom1P0HVHiLPJBAAIUhlZFM00896.jpg" />



這時我們在Master上建立一個tuchao資料庫

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/46/BC/wKioL1P0JW3g02VTAAEQnJ5-JXE645.jpg" title="1.jpg" alt="wKioL1P0JW3g02VTAAEQnJ5-JXE645.jpg" />

來到Slave查看

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/46/BA/wKiom1P0JHbSxLPqAADMQtFQX8w645.jpg" title="2.jpg" alt="wKiom1P0JHbSxLPqAADMQtFQX8w645.jpg" />

同步成功!


實驗二、使用amoeba構建MySQL叢集實現負載平衡,讀寫分離。




本文出自 “壞人的部落格” 部落格,請務必保留此出處http://tchuairen.blog.51cto.com/3848118/1542454

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.