MySQL主從複製

來源:互聯網
上載者:User

標籤:

資料庫複寫 replication 的實現原理:

1:主伺服器凡運行語句,都產生一個二進位日誌 binlog

2:從伺服器不斷讀取主伺服器的binlog

3:從伺服器讀取到的binlog轉換為自身可執行檔relaylog

4:執行relaylog

實現步驟:

1.首先確保主伺服器開啟二進位日誌功能,這樣,主伺服器一旦有資料變化,立即產生二進位日誌

2.從伺服器也需要開啟二進位日誌和relay日誌功能,這樣可以從主伺服器讀取binlog併產生relaylog

3.在主伺服器建立一個從伺服器的帳號,並授予讀binlog的許可權

4.指定從服務對應的主伺服器,開啟從伺服器

具體實施:

現虛擬機器下有2台linux,ip分別為192.168.153.158,192.168.153.159

1.158作為主伺服器

2.159作為從伺服器

3:保證主從3306連接埠互連

4:配置主伺服器開啟binlog

#給伺服器起一個唯一的id

server-id=1

#開啟二進位日誌

log-bin=mysql-bin

#日誌格式

binlog-format=mixed/row/statement

statement:2進位記錄執行語句,如update....

row:2進位記錄的是磁碟變化

語句長而磁碟變化少,宜用row,語句短,但影響上萬行,磁碟變化大,宜用statement

mixed,混合的,由系統根據語句來決定

--給伺服器起一個獨特的idserver-id=158--聲明2進位記錄檔為mysql-bin.xxxxlog-bin=mysql-bin--二進位日誌的格式 mixed/row/statementbinlog_format=mixed

重啟mysql

5.配置從伺服器

server-id=159log-bin=mysql-binrelay-log=mysql-relaybinlog-format=mixed

重啟mysql

主伺服器授權使用者

grant replication client,replication slave on *.* to [email protected]‘192.168.153.%‘ identified by ‘repl‘;flush privileges;

在從伺服器通過語句指定要複製的主伺服器(注意,可以一主多從,不可一從多主)

change master to master_host=‘192.168.153.158‘,master_user=‘repl‘,master_password=‘repl‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=98;

啟動

start slave

至此,最簡單的mysql主從複製即配置完成。

這裡只是實現了主從複製,讀寫分離還沒有實現,可以從應用程式層去實現,也可以用叢集中介軟體如

官方的mysql_proxy,另外就是國產的中介軟體 amoeba

MySQL主從複製

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.