最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 環(huán)境運行 Mysql 和開啟 Binlog 配置主從同步的設(shè)置方法

 更新時間:2021年06月30日 15:53:54   作者:天道酬勤——傻子王(AME)  
今天給大家分享Docker 環(huán)境運行 Mysql 和開啟 Binlog 配置主從同步的設(shè)置方法,利用docker模擬mysql設(shè)置的主從同步,通過兩種方式給大家介紹的非常詳細,需要的朋友參考下吧

同一服務(wù)器模擬利用 Docker 模擬 Mysql 設(shè)置的主從同步設(shè)置。

1、運行起來兩個 Mysql :masterMysql(主庫)、slaveMysql(從庫),數(shù)據(jù)庫版本 5.7。

#拉取鏡像
docker pull mysql:5.7
#y運行主、從容器
docker run -p 13306:3306 --name slavemysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -p 13307:3306 --name mastermysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

運行完成后可以嘗試連接,注意此處的映射到主機的服務(wù)端口分別為 13306和13307,對外連接需要保證防火墻和網(wǎng)關(guān)設(shè)置都要放開。

2、查看容器的使用 IP(配置主從需要同一內(nèi)網(wǎng)中的 IP 地址使用)

#查看主庫的所在 IP
docker inspect --format='{{.NetworkSettings.IPAddress}}' masterMysql
#172.18.0.2

3、配置主從庫。

(1)進入主庫

docker exec -it masterMysql  bash #masterMysql 為運行容器的名稱。

(2)進行配設(shè)置配置文件

cd /etc/mysql&&ls

可以看到,多份 *.cnf 文件,包括在 conf.d 和 mysql.conf.d 文件夾下都有。 這個是有加載順序的,此處配置就統(tǒng)在 my.cnf 上操作。

(3)設(shè)置配置文件

方式一:

正常操作是進入文件夾內(nèi)編輯,如以下方式:

vim ./my.cnf

不過這里遇到會報錯:
bash: vi: command not found

先行安裝 vi

apt-get update
#成功后運行
apt-get install vim

方式二(建議):

在容器外編輯后拷貝到容器內(nèi),這里是直接覆蓋的方式。

復(fù)制主機到容器內(nèi)。
語法:docker cp [主機地址] [容器 ID 或容器名稱]:[容器文件地址]
docker cp /home/mysql/my.cnf mysql:/etc/mysql/my.cnf

(4)打開 Binlog 配置。

相同的配置:進入主、從庫設(shè)置 my.cnf 配置文件。注意 server-id 需要不一致。

character_set_server=utf8
init_connect='SET NAMES utf8'
#這兩條是設(shè)置utf-8字符格式,兩個主機配置相同
## 同一局域網(wǎng)內(nèi)注意要唯一(如果雙向主備庫,依賴這個去區(qū)分執(zhí)行 Binlog 的 SQL 語句 )
#可以取 Ip 的最后一個。主庫為 2,從庫為 3。
server-id=2  
## 開啟二進制日志功能,可以隨便取(關(guān)鍵)
#演示設(shè)置主庫設(shè)置為 master-bin,從庫為 slave-bin
log-bin=master-bin
log_bin_index = master-bin.index

其中不同的配置: 主庫:

#這里整理可以配置的內(nèi)容,由于測試,先注釋。
#要給從機同步的庫(如果不寫,默認全部同步)
#binlog-do-db=test

#不給從機同步的庫(多個寫多行)
#binlog-ignore-db=mysql #設(shè)置復(fù)制的數(shù)據(jù)庫
#binlog-ignore-db=information_schema #設(shè)置忽略復(fù)制的數(shù)據(jù)庫
#自動清理 15 天前的log文件
expire_logs_days=15
#binlog_format=row #設(shè)置 Binlog 記錄的實際操作的 SQL。
#max_binlog_size=100m #設(shè)置文件大小
#replicate_do_table=test #進行復(fù)制的的數(shù)據(jù)表
#replicate_ignore_table=igoreTest #忽略進行復(fù)制的的數(shù)據(jù)表
#replicate_wild_ignore_db=test # 同 Replicate_Do_DB 可帶通配符
#replicate_wild_ignore_db=igoreTest # 同 Replicate_Ignore_DB 可帶通配符

從庫:

#設(shè)置避免更新不及時或是重啟后導(dǎo)致主從庫復(fù)制出錯。
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay-log = slave-relay-bin

#主庫的日志存放。
relay-log-index = slave-relay-bin.index

配置是需要重啟容器后生效。

docker restart masterMysql
docker restart slaveMysql

查看容器的日志:

docker logs masterMysql 

如果要是重啟失敗,可以用此操作檢查是否剛才的配置文件有出錯,利用(3)方式二,修改配置文件,再去啟動容器。

(5)查看容器是否設(shè)置 Binlog 配置成功。

#進入容器
docker exec -it masterMysql bash
#進入 Mysql
mysql -uroot -p123456 
#查看 Binlog 狀態(tài)。
show variables like '%log_bin%';
#可以看到 log_bin 是打開的狀態(tài),bin_log 的位置在 /var/lib/mysql/master-bin

![file](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/61e52585e4aa4200a8c27204ef690234~tplv-k3u1fbpfcp-zoom-1.image)

(6)查看主庫的 Matser 節(jié)點的 Binlog 狀態(tài),拿到此處的配置的 position 值。

show master status;

若是之前開啟的 Binlog 沒有使用,需要新生成或是重置清空。

#生成新的 Binlog 日志文件
flush logs; 
#重置清空 Binlog 日志文件
reset master;

可以查看到此處的 日志配置文件是:master-bin.000001,Position 為 334。

4、主庫設(shè)置一個賬號提供從庫同步數(shù)據(jù)使用。此處賬號為 slaveMysql。

CREATE USER 'slaveMysql'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slaveMysql'@'%';

5、登錄從庫的 Mysql 執(zhí)行,建議還是連接到 Navicat 上運行和查看,服務(wù)器上查看格式很亂。

(1)執(zhí)行同步的主庫配置。注意這里的是結(jié)尾符號。

change master to master_host='172.18.0.2',
 master_user='slaveMysql',
 master_password='123456',
 master_port=3306, 
 master_log_file='mysql-bin.000001',
 master_log_pos= 334,
 master_connect_retry=30;

參數(shù)詳解:

change master to master_host=${容器所用IP} 這里需要是同一局域網(wǎng)內(nèi),第 2 所得。
master_port Master 的端口號,指的是容器的運行數(shù)據(jù)庫的端口號,不是映射到主機的端口號,第 1 所得。
master_user 設(shè)置同步使用的賬號, 第 4 所得
master_password 設(shè)置同步使用的賬密碼,第 4 所得
master_log_file 指定了從主庫哪個配置文件讀取 Binlog 日志,第 3(6) 所得
master_log_pos 從哪個 Position 開始讀,即上文中提到的 Position 字段的值,第 3(6) 所得
master_connect_retry 如果連接失敗,重試的時間間隔,單位是秒,默認是60秒

(2)打開從庫的配置。

start slave;
#停止 slave。
#stop slave;

(3)查看主從同步的狀態(tài)。 檢查主從同步的狀態(tài)。

show slave status ;

(4)檢查錯誤。

可以通過查看 Last_Io_Error 查看到連接的錯誤。 排查以下出錯的可能。 1>網(wǎng)絡(luò)不通,端口和局域網(wǎng) IP 2>用于同步的賬戶密碼正常 3> Master 的 Binlog 文件名稱和 Pos 位置錯誤。

6、測試主從是否正常。

Master 庫創(chuàng)建數(shù)據(jù)庫,查看 從庫是否也有同步創(chuàng)建成功即可,到此就結(jié)束啦。

到此這篇關(guān)于Docker 環(huán)境運行 Mysql 和開啟 Binlog 配置主從同步的文章就介紹到這了,更多相關(guān)Docker Binlog mysql主從同步內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker制作YashanDB鏡像的使用方法

    Docker制作YashanDB鏡像的使用方法

    本文詳細講解了如何制作YashanDB的Docker鏡像,并通過實例展示了實際操作過程,特別是在跨平臺應(yīng)用中,Docker鏡像提供了一致的環(huán)境,避免了環(huán)境差異導(dǎo)致的諸多問題,此外,文章還探討了優(yōu)化鏡像體積、數(shù)據(jù)持久化及CI/CD集成等更深入的內(nèi)容,感興趣的可以了解一下
    2024-10-10
  • 基于Docker搭建iServer集群

    基于Docker搭建iServer集群

    Docker擴展了LXC,提供了更高級別的API,并簡化了應(yīng)用的打包和部署,為終端用戶創(chuàng)建彼此獨立的私有環(huán)境,可有效節(jié)約開發(fā)者和系統(tǒng)管理員的環(huán)境部署時間。這篇文章主要介紹了基于Docker搭建iServer集群,需要的朋友可以參考下
    2022-04-04
  • Docker容器開啟設(shè)置自動啟動的實現(xiàn)方法

    Docker容器開啟設(shè)置自動啟動的實現(xiàn)方法

    通過在Docker中設(shè)置容器的默認啟動命令,我們可以實現(xiàn)在容器啟動時自動啟動服務(wù)的功能,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • docker部署nginx并且實現(xiàn)https的方法步驟

    docker部署nginx并且實現(xiàn)https的方法步驟

    啟用HTTPS可以提高網(wǎng)站的安全性、可信度,同時符合法規(guī)要求,本文主要介紹了docker部署nginx并且實現(xiàn)https的方法步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • Docker中的鏡像詳細介紹

    Docker中的鏡像詳細介紹

    這篇文章主要介紹了Docker中的鏡像詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 修改Docker鏡像默認存儲位置的方法(解決方法)

    修改Docker鏡像默認存儲位置的方法(解決方法)

    這篇文章主要介紹了修改Docker鏡像默認存儲位置的方法,如果上面運行 Docker 服務(wù),經(jīng)過長時間的使用,會使原本就比較大的分區(qū)越來越不夠用。如何更好地的處理這個問題呢,本文給出解決方案,需要的朋友一起看看吧
    2021-04-04
  • docker離線安裝社區(qū)版(docker-18.06.3-ce)

    docker離線安裝社區(qū)版(docker-18.06.3-ce)

    在一些特定的環(huán)境下,由于網(wǎng)絡(luò)限制或者其他原因,我們可能需要在Linux系統(tǒng)上進行離線安裝Docker,本文就來介紹一下docker離線安裝社區(qū)版,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Docker超詳細講解鏡像操作

    Docker超詳細講解鏡像操作

    鏡像也是?docker?的核心組件之一,鏡像時容器運行的基礎(chǔ),容器是鏡像運行后的形態(tài)。本文主要介紹Docker鏡像的基本操作,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Docker部署FastDFS的實現(xiàn)方法

    Docker部署FastDFS的實現(xiàn)方法

    這篇文章主要介紹了Docker部署FastDFS的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Docker搭建ELK日志系統(tǒng),并通過Kibana查看日志方式

    Docker搭建ELK日志系統(tǒng),并通過Kibana查看日志方式

    這篇文章主要介紹了Docker搭建ELK日志系統(tǒng),并通過Kibana查看日志方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論

佛山市| 武穴市| 灵石县| 苍梧县| 博客| 乳源| 噶尔县| 泸定县| 潢川县| 大英县| 庆安县| 五常市| 灵武市| 四会市| 湖北省| 沐川县| 河津市| 汉阴县| 云霄县| 布尔津县| 吐鲁番市| 西畴县| 汉沽区| 抚松县| 正阳县| 乌鲁木齐县| 黄大仙区| 交城县| 定远县| 揭阳市| 景洪市| 富源县| 宽城| 芮城县| 车致| 台北县| 桑植县| 信阳市| 高邑县| 江津市| 浑源县|