欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql8.4.0實(shí)現(xiàn)主從復(fù)制部署

 更新時(shí)間:2024年07月19日 10:12:42   作者:lixin29  
主從復(fù)制是 MySQL 中一種用于實(shí)現(xiàn)數(shù)據(jù)冗余、提高可用性和性能的重要機(jī)制,本文主要介紹了mysql8.4.0實(shí)現(xiàn)主從復(fù)制部署,具有一定的參考價(jià)值,感興趣的可以了解一下

一、搭建主服務(wù)器master

1.1.docker-compose.yml文件編寫

version : '3.8'
services:
  ai-platform-mysql-master:
    container_name: ai-platform-mysql-master
    image: mysql:8.4.0
    ports:
      - "3306:3306"
    volumes:
      - ./mysql-master/conf:/etc/mysql/conf.d
      - ./mysql-master/logs:/logs
      - ./mysql-master/data:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro
    command: [
          'mysqld',
          '--innodb-buffer-pool-size=80M',
          '--character-set-server=utf8mb4',
          '--collation-server=utf8mb4_unicode_ci',
          '--default-time-zone=+8:00',
          '--lower-case-table-names=1'
        ]
    privileged: true
    environment:
      MYSQL_ROOT_PASSWORD: XXXXXXXXX改為root密碼
    restart: always

1.2.創(chuàng)建MySQL主服務(wù)器配置文件

進(jìn)入主容器掛載目錄   - ./mysql-master/conf:/etc/mysql/conf.d

進(jìn)入conf 目錄 ,通過(guò)vim命令寫入到my.cnf即可

[mysqld]
## 設(shè)置server_id,同一局域網(wǎng)中需要唯一
server_id=101
##指定不需要同步的數(shù)據(jù)庫(kù)每個(gè)in成
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performance_schema
## 開啟二進(jìn)制日志功能
log_bin=mall-mysql_bin
## 設(shè)置二進(jìn)制日志使用內(nèi)存大小(事務(wù))
binlog_cache_size=1M
## 設(shè)置使用的二進(jìn)制日志格式(mixed,statement,row)
binlog_format=mixed
slave_skip_errors=1062
## 跳過(guò)主從復(fù)制中遇到的所有錯(cuò)誤或指定類型的錯(cuò)誤,避免slave端復(fù)制中斷。
## 如:1062錯(cuò)誤是指一些主鍵重復(fù),1032錯(cuò)誤是因?yàn)橹鲝臄?shù)據(jù)庫(kù)數(shù)據(jù)不一

注意:binlog日志binlog格式說(shuō)明:

binlog_format=STATEMENT:日志記錄的是主機(jī)數(shù)據(jù)庫(kù)的寫指令,性能高,但是now()之類的函數(shù)以及獲取系統(tǒng)參數(shù)的操作會(huì)出現(xiàn)主從數(shù)據(jù)不同步的問(wèn)題。

binlog_format=ROW(默認(rèn)):日志記錄的是主機(jī)數(shù)據(jù)庫(kù)的寫后的數(shù)據(jù),批量操作時(shí)性能較差,解決now()或者 user()或者 @@hostname 等操作在主從機(jī)器上不一致的問(wèn)題。

binlog_format=MIXED:是以上兩種level的混合使用,有函數(shù)用ROW,沒(méi)函數(shù)用STATEMENT,但是無(wú)法識(shí)別系統(tǒng)變量

我們此處采用STATEMENT模式

(一般采用默認(rèn)的ROW格式)

 1.3.啟動(dòng)容器

docker-compose up -d ai-platform-mysql-master 

確認(rèn)服務(wù)是否啟動(dòng)

1.4.使用命令行登錄MySQL主服務(wù)器:

docker exec -it ai-platform-mysql-master /bin/bash

登錄mysql

mysql -uroot -p 

輸入密碼

1.5.主機(jī)中創(chuàng)建slave用戶,并設(shè)置密碼和權(quán)限

CREATE USER 'slave'@'%';

設(shè)置密碼

ALTER USER 'slave'@'%' IDENTIFIED BY '密碼' ;

授予復(fù)制權(quán)限

GRANT Replication slave ON *.* TO 'slave'@'%';

flush privileges;

1.6.主機(jī)中查詢master狀態(tài):

SHOW BINARY LOG STATUS

記錄查詢的結(jié)果,保存,并且不要再操作主數(shù)據(jù)庫(kù)?。。。?/p>

自此,主服務(wù)器設(shè)置完成!

二、搭建從服務(wù)器

2.1.docker-compose.yml文件編寫

version : '3.8'
services:
  ai-platform-mysql-slave:
    container_name: ai-platform-mysql-slave
    image: mysql:8.4.0
    ports:
      - "3306:3306"
    volumes:
      - ./mysql-master/conf:/etc/mysql/conf.d
      - ./mysql-master/logs:/logs
      - ./mysql-master/data:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro
    command: [
          'mysqld',
          '--innodb-buffer-pool-size=80M',
          '--character-set-server=utf8mb4',
          '--collation-server=utf8mb4_unicode_ci',
          '--default-time-zone=+8:00',
          '--lower-case-table-names=1'
        ]
    privileged: true
    environment:
      MYSQL_ROOT_PASSWORD: XXXXXXXXX改為root密碼
    restart: always

2.2.創(chuàng)建MySQL從服務(wù)器配置文件

進(jìn)入主容器掛載目錄   - ./mysql-master/conf:/etc/mysql/conf.d

進(jìn)入conf 目錄 ,通過(guò)vim命令寫入到my.cnf即可

[mysqld]
# 服務(wù)器唯一id,每臺(tái)服務(wù)器的id必須不同,如果配置其他從機(jī),注意修改id
server-id=103
# 中繼日志名,默認(rèn)xxxxxxxxxxxx-relay-bin
#relay-log=relay-bin

 2.3.啟動(dòng)容器

docker-compose up -d ai-platform-mysql-slave 

確認(rèn)服務(wù)是否啟動(dòng)

2.4.使用命令行登錄MySQL從服務(wù)器:

docker exec -it ai-platform-mysql-slave/bin/bash

登錄mysql

mysql -uroot -p 

輸入密碼

2.5.配置 MySQL 主從復(fù)制

為了保持?jǐn)?shù)據(jù)一致性,建議在主服務(wù)器在執(zhí)行一遍SHOW BINARY LOG STATUS 并記錄 File 和Position的值

CHANGE REPLICATION SOURCE TO SOURCE_HOST='ip', SOURCE_USER='slave', SOURCE_PASSWORD='密碼', SOURCE_PORT=3306, SOURCE_LOG_FILE='File', SOURCE_LOG_POS=Position, SOURCE_SSL=1;

開啟同步,執(zhí)行語(yǔ)句

START REPLICA;

如果報(bào)錯(cuò):

ERROR 1872 (HY000): Replica failed to initialize applier metadata structure from the repository

 因?yàn)閺臄?shù)據(jù)庫(kù)可能以前配置過(guò),生成過(guò) 中繼日志文件,導(dǎo)致 從數(shù)據(jù)庫(kù) slave 中還記錄著舊數(shù)據(jù),這時(shí)可以使用 命令

RESET REPLICA; 重新設(shè)置即可。

查看復(fù)制狀態(tài),狀態(tài)為yes 即可,

SHOW REPLICA STATUS

接下來(lái)自己測(cè)試即可,主數(shù)據(jù)庫(kù)創(chuàng)建庫(kù)、表 新增數(shù)據(jù) 啥的?。?/p>

到此這篇關(guān)于mysql8.4.0實(shí)現(xiàn)主從復(fù)制部署的文章就介紹到這了,更多相關(guān)mysql8.4.0 主從復(fù)制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker和Kubernetes中使用代理IP的操作方法

    Docker和Kubernetes中使用代理IP的操作方法

    在Docker和Kubernetes中使用代理IP很容易,只需要在Docker守護(hù)進(jìn)程和容器運(yùn)行時(shí)添加相應(yīng)的配置即可,這篇文章主要介紹了如何在Docker和Kubernetes中使用代理IP,需要的朋友可以參考下
    2023-07-07
  • docker部署mysql和nginx服務(wù)的示例詳解

    docker部署mysql和nginx服務(wù)的示例詳解

    這篇文章主要為大家詳細(xì)介紹了docker部署mysql和nginx服務(wù)的相關(guān)知識(shí),文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • docker形式簡(jiǎn)易部署kibana的過(guò)程

    docker形式簡(jiǎn)易部署kibana的過(guò)程

    這篇文章給大家介紹使用docker部署kibana服務(wù)的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • Prometheus容器化部署的實(shí)踐方案

    Prometheus容器化部署的實(shí)踐方案

    這篇文章主要介紹了Prometheus容器化部署,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Docker學(xué)習(xí)之Container容器的具體使用

    Docker學(xué)習(xí)之Container容器的具體使用

    這篇文章主要介紹了Docker學(xué)習(xí)之Container容器的具體使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • linux下如何使用docker安裝minio

    linux下如何使用docker安裝minio

    這篇文章主要介紹了linux下如何使用docker安裝minio問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 淺談Docker如何自定義host文件

    淺談Docker如何自定義host文件

    本文主要介紹了Docker如何自定義host文件,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Docker拉取鏡像的解決方案

    Docker拉取鏡像的解決方案

    署Docker最耗時(shí)間的就是下載鏡像(images)了,而且還要考慮下載鏡像的版本是否合適,那么有沒(méi)有辦法快速下載鏡像呢?本文給大家介紹Docker拉取鏡像的解決方案,一起看看吧
    2023-11-11
  • Dockerfile中multi-stage(多階段構(gòu)建)詳解

    Dockerfile中multi-stage(多階段構(gòu)建)詳解

    在2017年5月3日即將發(fā)行的 Docker 17.05.0-ce 中,Docker 官方提供了簡(jiǎn)便的多階段構(gòu)建 (multi-stage build) 方案,下面這篇文章主要給大家介紹了關(guān)于Dockerfile中multi-stage(多階段構(gòu)建)的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Jenkins構(gòu)建Docker鏡像并推送至Harbor倉(cāng)庫(kù)的實(shí)現(xiàn)

    Jenkins構(gòu)建Docker鏡像并推送至Harbor倉(cāng)庫(kù)的實(shí)現(xiàn)

    本文主要介紹了Jenkins構(gòu)建Docker鏡像并推送至Harbor倉(cāng)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論