欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql半同步復(fù)制 數(shù)據(jù)0丟失

MySQL的半同步復(fù)制(Semi-Synchronous Replication)是指Master將binlog寫入磁盤后,必須等待至少一個(gè)slave節(jié)點(diǎn)將binlog應(yīng)用成功后,才會(huì)認(rèn)為事務(wù)已經(jīng)提交成功。這種方式可以避免在發(fā)生Master節(jié)點(diǎn)宕機(jī)時(shí),因?yàn)槲赐酵陮?dǎo)致數(shù)據(jù)丟失的情況。但是,半同步復(fù)制并不能保證數(shù)據(jù)不丟失,當(dāng)Master節(jié)點(diǎn)發(fā)生故障時(shí)半同步復(fù)制仍然存在一定的數(shù)據(jù)丟失風(fēng)險(xiǎn)。

在半同步復(fù)制中,當(dāng)Master節(jié)點(diǎn)在提交事務(wù)時(shí)發(fā)生故障,可能會(huì)導(dǎo)致Slave節(jié)點(diǎn)還未完全應(yīng)用所有的binlog而發(fā)生數(shù)據(jù)丟失。為了解決這個(gè)問題,可以使用MySQL提供的兩個(gè)參數(shù)來保證數(shù)據(jù)不丟失。

mysql>show variables like '%semi%';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| rpl_semi_sync_master_enabled | OFF |
| rpl_semi_sync_master_timeout | 1000 |
| rpl_semi_sync_slave_enabled | OFF |
+--------------------+-------+

rpl_semi_sync_master_enabled:是否開啟Master節(jié)點(diǎn)的半同步復(fù)制,默認(rèn)為OFF。

rpl_semi_sync_master_timeout:Master等待Slave節(jié)點(diǎn)確認(rèn)的超時(shí)時(shí)間,單位為毫秒,默認(rèn)為1000ms。

rpl_semi_sync_slave_enabled:是否開啟Slave節(jié)點(diǎn)的半同步復(fù)制,默認(rèn)為OFF。

當(dāng)設(shè)置成功后,在事務(wù)提交時(shí),Master節(jié)點(diǎn)會(huì)等待至少一個(gè)Slave節(jié)點(diǎn)接收并應(yīng)用完binlog的確認(rèn)消息,如果在規(guī)定的時(shí)間內(nèi)沒有收到確認(rèn)消息,則Master節(jié)點(diǎn)會(huì)自動(dòng)放棄此方式進(jìn)行數(shù)據(jù)同步,轉(zhuǎn)而采用異步復(fù)制的方式,這樣保證了數(shù)據(jù)不丟失。