天天看點

MySQL主從同步讀寫分離的叢集配置

大型網站為了解決大量的高并發通路問題,除了在網站實作分布式負載均衡,遠遠不夠。到了資料業務層、資料通路層,如果還是傳統的資料結構,或者隻是單單靠一台伺服器支援,如此多的資料庫連接配接操作,伺服器性能再好資料庫必然會崩潰。資料丢失的話,後果更是不堪設想。這時候,我們會考慮如何減少資料庫的連接配接,一方面采用優秀的代碼架構,進行代碼的優化,采用優秀的資料緩存技術如:memcached等。如果資金充足的話,必然會想到假設伺服器叢集,來分擔主資料庫的壓力。或者在硬體裝置上,投入大量資金,購買高性能的伺服器。出名的有f5,硬體負載,軟體負載等。

ok切入今天的主題,利用mysql主從配置,實作讀寫分離,減輕資料庫壓力。這種方式,在如今很多網站裡都有使用,也不是什麼新鮮事情,今天總結一下,友善大家學習參考一下。

讀寫分離:

1.多個伺服器肯定比一個伺服器好。

2.在資料庫寫入的時候,會加入大量的鎖(排它鎖,共享鎖等等),進而影響性能。

3.資料更安全,多資料庫存在備份資料。

搭建環境:

1.搭設一台master伺服器(win7系統64bit,ip:10.10.2.33)

2.一台台slave伺服器(winxp系統32bit,ip:10.10.2.157)

原理:主伺服器(master)負責網站寫操作,從伺服器負責查詢操作。主從伺服器利用mysql的二進制日志檔案,實作資料同步。二進制日志由主伺服器産生,從伺服器響應擷取同步資料庫。

在主伺服器上找到my.ini檔案(版本不同可能檔案名字不同,如:my.cnf)。

mysql中有好幾種日志方式,我們隻要啟動二進制日志log-bin就ok。在[mysqld]下面增加下面幾行代碼

在從的伺服器上也找到my.ini檔案。在[mysqld]下面增加下面幾行代碼

歡迎大家關注我的部落格!如有疑問,請加qq群:454796847共同學習!