MySQL8 主從配置

1. 目錄結(jié)構(gòu)

demo
|-- docker-compose.yml
|-- source
    |-- data
    |-- conf
        |-- source.cnf
|-- replica_1
    |-- data
    |-- conf
        |-- replica.cnf

2. 配置文件

  1. docker-compose.yml

    利用 docker 來進(jìn)行本地測(cè)試畏腕,比使用虛擬機(jī)性價(jià)比更高,也更加方便击纬。

    version: '3'
    
    services:
    
    # 源庫
    db_source:
        image: mysql:8
        volumes:
            - "./source/data:/var/lib/mysql" # 數(shù)據(jù)備份
            - "./source/conf:/etc/mysql/conf.d" # 配置文件,需提前寫好,下面會(huì)給出??
        environment:
            - MYSQL_ROOT_PASSWORD=password
    
    # 副本庫1去团,可以有多個(gè)
    db_replica_1:
        image: mysql:8
        volumes:
            - "./replica_1/data:/var/lib/mysql"
            - "./replica_1/conf:/etc/mysql/conf.d"
        environment:
            - MYSQL_ROOT_PASSWORD=password
    
  2. source.cnf

    這是源庫的配置文件。

    1. log-bin 啟用二進(jìn)制日志穷蛹。
    2. server-id 給源庫設(shè)置 ID土陪,集群內(nèi)必須唯一
    3. innodb_flush_log_at_trx_commitsync_binlog 提高主從復(fù)制的耐用性和一致性
    [mysqld]
    log-bin=mysql-bin
    server-id=1001
    innodb_flush_log_at_trx_commit=1
    sync_binlog=1
    
  3. replica.cnf

    這是副本的配置文件,副本不需要啟用二進(jìn)制日志肴熏,只需要確保 ID 唯一即可鬼雀。

    [mysqld]
    server-id=1002
    

3. 啟動(dòng) docker 容器

docker-compose up -d

4. 獲取源庫的二進(jìn)制日志坐標(biāo)

  1. 進(jìn)入源庫容器

    $ docker-compose exec db_source mysql -u root -p
    Enter password: # 輸入密碼 password 即可。
    
  2. 獲取二進(jìn)制日志的文件名(File)和坐標(biāo)(Position)扮超,這個(gè)窗口就不要?jiǎng)恿巳∪校酉聛碛杏谩?/p>

    mysql > SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 | 73       | test         | manual,mysql     |
    +------------------+----------+--------------+------------------+
    

5. 給副本庫設(shè)置復(fù)制源

  1. 進(jìn)入副本庫容器

    $ docker-compose exec db_replica_1 mysql -u root -p
    Enter password: # 輸入密碼 password 即可。
    
  2. 設(shè)置復(fù)制源

    1. SOURCE_HOST 源庫的 ip 或者域名
    2. SOURCE_POST 源庫的端口
    3. SOURCE_USER 源庫中出刷,用來執(zhí)行復(fù)制的用戶
    4. SOURCE_PASSWORD 源庫中璧疗,用來執(zhí)行復(fù)制的用戶的密碼
    5. SOURCE_LOG_FILE 上一節(jié)從源庫中獲取二進(jìn)制日志的文件名(File)
    6. SOURCE_LOG_POS 上一節(jié)從源庫中獲取的二進(jìn)制日志的坐標(biāo)(Position)
    7. GET_SOURCE_PUBLIC_KEY 因?yàn)?mysql8 的密碼加密使用的是 caching_sha2_password,所以要啟用基于 RSA 密鑰對(duì)的密碼交換馁龟,這個(gè)參數(shù)只接收 0 或 1崩侠。

    Ps. 這一段解釋就像:It's a cat!

    mysql> CHANGE REPLICATION SOURCE TO
        ->     SOURCE_HOST='db_source',
        ->     SOURCE_PORT=3306,
        ->     SOURCE_USER='root',
        ->     SOURCE_PASSWORD='password',
        ->     SOURCE_LOG_FILE='mysql-bin.000003',
        ->     SOURCE_LOG_POS=73,
        ->     GET_SOURCE_PUBLIC_KEY=1;
    
  3. 開啟復(fù)制

    mysql> START REPLICA;
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市坷檩,隨后出現(xiàn)的幾起案子却音,更是在濱河造成了極大的恐慌,老刑警劉巖矢炼,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件系瓢,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡句灌,警方通過查閱死者的電腦和手機(jī)夷陋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門欠拾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人骗绕,你說我怎么就攤上這事藐窄。” “怎么了酬土?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵荆忍,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我撤缴,道長(zhǎng)刹枉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任腹泌,我火速辦了婚禮嘶卧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凉袱。我一直安慰自己芥吟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布专甩。 她就那樣靜靜地躺著钟鸵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涤躲。 梳的紋絲不亂的頭發(fā)上棺耍,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音种樱,去河邊找鬼蒙袍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛嫩挤,可吹牛的內(nèi)容都是我干的害幅。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼岂昭,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼以现!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起约啊,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤邑遏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后恰矩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體记盒,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年外傅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了孽鸡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹂午。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖彬碱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情奥洼,我是刑警寧澤巷疼,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站灵奖,受9級(jí)特大地震影響嚼沿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓷患,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一骡尽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧擅编,春花似錦攀细、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锦担,卻和暖如春俭识,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背洞渔。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工套媚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人磁椒。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓堤瘤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親衷快。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宙橱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容