MySQL主從複製配置

來源:互聯網
上載者:User

標籤:

MySQL主從複製用於讀寫分離,主庫負責寫,從庫負責讀。這樣無疑會讓資料庫提供更高的並發效能。

配置主從複製後,主庫記錄二進位日誌到本地,從庫讀取主庫的二進位檔案並儲存到本地的中繼記錄檔,然後重做日誌達到同步資料的結果。

主庫配置
1、建立複製使用者

從庫通過此使用者身份在主庫拉二進位日誌。

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO [email protected]‘%‘ IDENTIFIED BY ‘gechong‘;
2、主庫配置

修改my.cnf

server-id=1   #必須有 而且必須唯一log-bin=/var/log/mysql/mysql_bin.log  #二進位檔案的路徑binlog-do-db=employees   #需要記錄二進位日誌的庫binlog-ignore-db=mysql,information_schema  #忽略的庫sync_binlog=1    #即時記錄,防止事務未提交而丟失二進位日誌

備庫配置1、備庫配置

修改my.cnf檔案

server-id=2log-bin=/var/log/mysql/mysql_bin.loglog-slave-updates=1read-only=1   #阻止任何沒有特權許可權的線程修改資料,避免與主庫的資料衝突replicate-do-db=employeesreplicate-ignore-db=mysql,information_schema


2、啟動複製

在mysql中運行

stop slave; --首先關閉change master to master_host=‘IP‘,master_user=‘slave_1‘,master_password=‘123456‘,master_log_file=‘mysql_bin.000006‘,master_log_pos=106;start slave; --啟動

如果slave_io_running和slave_sql_running都是yes,配置成功。


注意事項

關於mysql主從配置的簡單介紹到此。除此之外,關於這個主題還有不少值得注意的關鍵點。

複製的方式

複製的方式分為基於行的 和基於語句的。

基於語句的方式(5.0以及之前的版本支援),因為從庫重做語句有時間差,所以對於時間戳記會有誤差。

基於行的方式會將實際資料記錄到二進位檔案,克服了以上類似的弊端。


主庫和從庫資料衝突

從庫主要是用作讀取資料,與主庫同步。如果隨意修改從庫,很可能造成資料的衝突和不一致。

在從庫中配置 read_only=1 能有效避免。


資料庫崩潰造成事件丟失

sync_binlog=1

該配置作用是,mysql每次提交事務前會將二進位日誌同步到磁碟,防止資料庫崩潰造成丟失。


總結

除了一主一從之外,還能允許一主多從的結構。這樣無疑對與少量寫大量讀的系統十分有用。

1)災難恢複,將一台從伺服器部署到遠端,能防火防震防盜防水災。


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.