MySQL主主同步和主從同步是常見的數(shù)據(jù)備份方式,但它們的實(shí)現(xiàn)方式略有不同。
主主同步:兩個(gè)MySQL服務(wù)器都作為主服務(wù)器,在彼此之間同步數(shù)據(jù)。一般情況下,主主同步需要一個(gè)額外的組件來確保相互之間的同步。這個(gè)組件是主主同步管理器(MM),可以在官方 MySQL 網(wǎng)站上下載和使用。主主同步可以提高數(shù)據(jù)的可用性,因?yàn)榧词鼓硞€(gè) MySQL 服務(wù)器宕機(jī),數(shù)據(jù)也可以從另一臺(tái)服務(wù)器恢復(fù)。但主主同步需要更多的系統(tǒng)資源來確保數(shù)據(jù)同步。
#MM配置示例 #這里是 Server地址、MySQL端口、以及 MySQL serverID manager1=127.0.0.1:3306:1 manager2=127.0.0.1:3307:2 #這里表示兩個(gè) manager 之間的同步 manager1.channel.channel1=manager2 manager2.channel.channel1=manager1 #最后啟動(dòng)這兩個(gè) manager
主從同步:一臺(tái)主 MySQL 服務(wù)器將數(shù)據(jù)同步到一臺(tái)或多臺(tái)從 MySQL 服務(wù)器上,從而實(shí)現(xiàn)的數(shù)據(jù)備份。主從同步只需要在主服務(wù)器上配置,并在從服務(wù)器上進(jìn)行數(shù)據(jù)的拉取和同步。主從同步容易實(shí)現(xiàn),因?yàn)橹恍枰谥鞣?wù)器上進(jìn)行配置和設(shè)置。
#在主服務(wù)器上,配置從服務(wù)器和賬戶信息 GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password'; #查看主服務(wù)器的狀態(tài) SHOW MASTER STATUS\G #在從服務(wù)器上,連接到主服務(wù)器 CHANGE MASTER TO MASTER_HOST = 'master_server_ip', MASTER_USER = 'slave_user', MASTER_PASSWORD = 'password', MASTER_LOG_FILE = 'log_file_name', MASTER_LOG_POS = log_file_position; #啟動(dòng)從服務(wù)器 START SLAVE;
總而言之,主主同步適用于需要更高的數(shù)據(jù)可用性和數(shù)據(jù)同步速度的場景,但需要更多的系統(tǒng)資源和額外的配置。主從同步適用于簡單、穩(wěn)定和易于配置、管理的場景,但需要更多的硬盤空間來存儲(chǔ)備份數(shù)據(jù)。