欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Docker環(huán)境運(yùn)行Mysql和開啟Binlog配置主從同步的

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

創(chuàng)新互聯(lián)擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站維護(hù)、服務(wù)器托管雅安解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、成都做商城網(wǎng)站、政府網(wǎng)站等各類型客戶群體,為全球上1000家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。

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

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

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

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

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

3、配置主從庫。

(1)進(jìn)入主庫

docker exec -it masterMysql bash #masterMysql 為運(yùn)行容器的名稱。

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

cd /etc/mysql&&ls

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

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

方式一:

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

vim ./my.cnf不過這里遇到會報(bào)錯:bash: vi: command not found

先行安裝 vi

apt-get update#成功后運(yùn)行apt-get install vim

方式二(建議):

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

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

(4)打開 Binlog 配置。

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

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

其中不同的配置: 主庫:

#這里整理可以配置的內(nèi)容,由于測試,先注釋。#要給從機(jī)同步的庫(如果不寫,默認(rèn)全部同步)#binlog-do-db=test#不給從機(jī)同步的庫(多個寫多行)#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 記錄的實(shí)際操作的 SQL。#max_binlog_size=100m #設(shè)置文件大小#replicate_do_table=test #進(jìn)行復(fù)制的的數(shù)據(jù)表#replicate_ignore_table=igoreTest #忽略進(jìn)行復(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 = 1master_info_repository=TABLErelay_log_info_repository=TABLErelay-log = slave-relay-bin#主庫的日志存放。relay-log-index = slave-relay-bin.index

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

docker restart masterMysqldocker restart slaveMysql

查看容器的日志:

docker logs masterMysql

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

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

#進(jìn)入容器docker exec -it masterMysql bash#進(jìn)入 Mysqlmysql -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é)點(diǎn)的 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 上運(yùn)行和查看,服務(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 的端口號,指的是容器的運(yùn)行數(shù)據(jù)庫的端口號,不是映射到主機(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 如果連接失敗,重試的時間間隔,單位是秒,默認(rèn)是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)境運(yùn)行 Mysql 和開啟 Binlog 配置主從同步的文章就介紹到這了,更多相關(guān)Docker Binlog mysql主從同步內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

本文名稱:Docker環(huán)境運(yùn)行Mysql和開啟Binlog配置主從同步的
本文地址:http://chinadenli.net/article36/dosipg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、面包屑導(dǎo)航、網(wǎng)站改版、虛擬主機(jī)微信公眾號、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化