国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

MySQL BlackHole引擎的概念和使用場(chǎng)景

發(fā)布時(shí)間:2021-09-14 18:07 來(lái)源:億速云 閱讀:0 作者:chen 欄目: Mysql 歡迎投稿:712375056

本篇內容介紹了“ BlackHole引擎的概念和使用場(chǎng)景”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!

概念

像MyISAM、InnoDB,BlackHole是另一種MySQL引擎,從字面意思來(lái)看,
其表現就像一個(gè)黑洞,只進(jìn)不出,進(jìn)來(lái)就消失。換句話(huà)說(shuō),任何往其中寫(xiě)的數據都將丟失,有點(diǎn)像Linux的/dev/null
比如一個(gè)表test的引擎是BlackHole,任何對這個(gè)表的insert都將丟失,
對它的select永遠返回空集,對應的數據目錄下只有一個(gè)test.frm文件,且沒(méi)有其他文件與之關(guān)聯(lián)。

使用場(chǎng)景

一個(gè)并不保存任何數據的引擎,到底有什么意義?
關(guān)鍵在于,雖然其不保存數據,但對數據庫的操作仍舊記錄在binlog日志中。
這就帶來(lái)一個(gè)好處,可以將其作為主從復制的中介,將原來(lái)從主庫中同步的操作變?yōu)閺淖鳛橹薪榈腂lackHole引擎數據庫中同步。

1.作為偽主庫分擔主庫負擔

眾所周知,當從庫比較多的時(shí)候,所有從庫都從主庫load數據將加重主庫的負擔。但如果是從BlackHole的偽主庫中同步就可以減輕主庫的負擔。原有主從架構大概就像下面這樣:

現在,BlackHole偽主庫作為中介,變成這樣:

特別是,可以在偽主庫中配置replicate-do和replicate-ignore規則,過(guò)濾不需要同步的表。

2.作為binlog日志收集器

其不保存實(shí)際數據,只記錄binlog的特性,使得該引擎可用于binlog日志收集,便于數據庫分析。
相關(guān)知識:binlog日志的format有三種:row,statement,mixed。
row的方式記錄每一行被改變的記錄,也就說(shuō),update將記錄所有符合條件被修改的行,alter table更慘,相當于重建整個(gè)表,記錄所有行的改變。所以這種格式下日志容易過(guò)大;
statement的方式只記錄改變數據的SQL,沒(méi)有row方式的問(wèn)題,但其會(huì )記錄該SQL執行的上下文信息,有個(gè)不好的地方是,該上下文信息在另一端重現的時(shí)候,容易因為較復雜的信息負責出錯。
mixed的方式綜合row和statement的方式。

配置

在偽庫中,需要如下配置:
配置默認類(lèi)型為BlackHole,可以用
default_table_type = BLACKHOLE
或是
default-storage-engine = BLACKHOLE
打開(kāi)binlog:log-bin  = ms-mysql-bin
特別要配置:log-slave-update  = 1,只有這樣,主庫中的操作才會(huì )同步到BlackHole的binlog中,否則,只有直接針對BlackHole的操作才會(huì )記錄到binlog。
忽略InnoDB:skip-innodb,當建表語(yǔ)句帶有engine=innodb時(shí),將使用默認的BlackHole引擎。
需要提醒的是,當采用這種架構時(shí),數據同步多了中間一層,需要進(jìn)一步考慮延遲問(wèn)題。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

又大又粗又爽又黄的少妇毛片| 婷婷久久综合九色综合绿巨人| 无人区码一码二码三码医生系列| 国产艳妇高清色视频在线| 久久精品黄AA片一区二区三区| 成 人 黄 色 网 站 视频 S色|