亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

使用Docker容器搭建MySql主從復制

2024-09-01 13:49:18
字體:
來源:轉載
供稿:網友

1. 編寫主MySQL的Docker文件

新建文件夾,命名為MySQL-master-v1。在文件夾mysql-master-v1中新建文件Dockerfile和master.cnf。筆者推薦使用的編輯器是Visual Studio Code。利用編輯器將這兩個文件的編碼設置成UTF-8。因為本文介紹安裝到Linux系統下,所以筆者建議讀者把換行符設置成LF,以兼顧Linux操作系統。按照如下內容編寫這兩個文件。

Dockerfile

FROM mysql:5.7# set timezone as china/shanghaiRUN cp /usr/share/zoneinfo/PRC /etc/localtime# copy mysql config fileCOPY master.cnf /etc/mysql/conf.d/ENTRYPOINT ["docker-entrypoint.sh"]EXPOSE 3306CMD ["mysqld"]

master.cnf

user=rootpassword='123456'[mysqld]max_allowed_packet=8Mlower_case_table_names=1character_set_server=utf8max_connections=900max_connect_errors=600server-id=1log-bin=mysql-binreplicate-wild-do-table=db1.%replicate-wild-do-table=db2.%slow_query_log=1long_query_time=1log_error

2. 主MySQL的配置文件參數說明

解釋一下master.cnf。

lower_case_table_names:忽略表名、列名等數據結構的大小寫(注意:不是每行記錄內容的大小寫?。?。

server-id=1: 表示此MySQL服務器是主服務器 。

log-bin:開啟二進制記錄。這是為了主從復制而做的設置。本文使用RBR(Row-Based Replication)模式。

replicate-wild-do-table:規定有哪些表可以從主服務器復制到從服務器。db1.%是指只要是數據庫db1的表,就都可以復制到從服務器上。可以多條設置,來允許多個數據庫。

沒有使用replicate-do-db是因為replicate-do-db禁止跨數據庫的訪問。比如用戶已經使用use db2;選擇了數據庫db2,用戶還要執行update db1.t_student set c_name='stu_c' where c_id='1234c',那么就不能使用replicate-do-db。在編程的時候雖然程序員不會用到use,但是程序員有可能把連接mysql的url寫成指定某個數據庫或沒有指定具體的數據庫。即便沒有指定數據庫,使用replicate-do-db也是不允許的。

slow_query_log=1:開啟慢查詢日志。如果某一條SQL執行的時間超過long_query_time設置的秒數,那么就記錄下來。記錄文件路徑可以使用show variables;命令,在變量名是slow_query_log_file下查找到具體的日志文件路徑。

long_query_time=1:單位是秒。指如果某一條SQL語句執行時間超過1秒,就記錄下來。必須開啟慢查詢日志了以后,此變量才能使用。

log_error:開啟錯誤日志。show variables like 'log_error'; 就可以查詢到日志文件的路徑。mysql的Docker官方鏡像如果設置別的取值會導致容器無法正常啟動。

3. 生成并使用主MySQL的鏡像

上傳文件夾mysql-master-v1到Linux服務器上。為了便于說明,用服務器A來指代這臺服務器。筆者的Linux版本是Ubuntu14.04。通過cd命令進入目錄mysql-master-v1。然后輸入以下命令來編譯鏡像:

docker build -t zhangchao/mysql-master5.7:v1 .

注意不要落下行末尾最后一個點。

根據編譯好的鏡像,生成新的容器:

docker run --name mysql-master /-p 3306:3306 /-v /zc/mysql-master/datadir:/var/lib/mysql /-e MYSQL_ROOT_PASSWORD='123456' -d zhangchao/mysql-master5.7:v1

使用MySQL的客戶端連接MySQL主服務器,筆者使用的是MySQL Workbench。執行如下命令:

show master status;

記錄下file和position。這里假設file是mysql-bin.000001,post是154。

4. 編寫從MySQL的Docker文件

新建文件夾 mysql-slave-v1。仿照步驟1在文件夾 mysql-slave-v1下新建 Dockerfile 和 slave.cnf 兩個文件。下面是這兩個文件的內容。

Dockerfile

FROM mysql:5.7# set timezone as china/shanghaiRUN cp /usr/share/zoneinfo/PRC /etc/localtime# copy mysql config fileCOPY slave.cnf /etc/mysql/conf.d/ENTRYPOINT ["docker-entrypoint.sh"]EXPOSE 3306CMD ["mysqld"]

slave.cnf

[mysqldump]user=rootpassword='123456'[mysqld]max_allowed_packet=8Mlower_case_table_names=1character_set_server=utf8max_connections=900max_connect_errors=600slow_query_log=1long_query_time=1log_error# Regard this db as a slaveserver-id=2

slave.cnf 文件中的 server-id=2 會把MySQL服務器設置成從服務器。

5. 生成并使用從MySQL的鏡像

上傳 mysql-slave-v1 到第二臺服務器。用服務器B來指代這臺服務器。

編譯鏡像:

docker build -t zhangchao/mysql-slave5.7:v1 .

利用新的鏡像建立容器:

docker run --name mysql-slave /-p 3306:3306 /-v /zc/mysql-slave/datadir:/var/lib/mysql /-e MYSQL_ROOT_PASSWORD='123456' -d zhangchao/mysql-slave5.7:v1

這時MySQL的主從服務器都在運行中,需要讀者自行保證兩邊的數據相同。只有當兩臺服務器的數據都一樣的時候,才能建立主從復制連接。

6. 把從MySQL連接到主MySQL上

使用客戶端連接到MySQL從服務器,假定服務器A的IP是192.168.10.1。

執行如下命令:

change master to master_host='192.168.10.1',master_user='root',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=154;

待命令正常執行后,接著執行如下命令:

start slave;

這樣就可以主從復制了。只要在主服務器的db1和db2數據庫插入或修改數據,就可以自動復制到從服務器上了。

以上所述是小編給大家介紹的使用Docker容器搭建MySql主從復制,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
69国产精品成人在线播放| 欧美黄色三级网站| 久久精品在线视频| 久久久精品国产亚洲| 亚洲国产小视频在线观看| 国产剧情日韩欧美| 亚洲电影成人av99爱色| 久久在线免费观看视频| 中文.日本.精品| 欧美大片在线看| 亚洲男人第一av网站| 国产精品免费在线免费| 欧美大片在线看| 91精品国产色综合久久不卡98口| 久久精品国产亚洲一区二区| 欧美日韩亚洲视频一区| 亚洲人成电影网站色xx| 国产精品日本精品| 国产一区二中文字幕在线看| 日韩av在线免费| 亚洲欧美成人精品| 91久久久久久久一区二区| 中文字幕亚洲自拍| 日韩视频精品在线| 欧美三级欧美成人高清www| 亚洲视频999| 亚洲国产日韩欧美综合久久| 亚洲sss综合天堂久久| 国产精品青草久久久久福利99| 亚洲国产另类久久精品| 全球成人中文在线| 国产精品久久久久久久久久久久久久| 国产精品视频不卡| 久久网福利资源网站| 国产999精品久久久| 国产精品久久久久久久久久新婚| 青青久久aⅴ北条麻妃| 亚洲国产中文字幕久久网| 黑人巨大精品欧美一区二区免费| 国产精品一香蕉国产线看观看| 91精品中文在线| 国产精品极品尤物在线观看| 久久久免费高清电视剧观看| 国产成人拍精品视频午夜网站| 欧美福利在线观看| 最近2019年好看中文字幕视频| 日韩中文有码在线视频| **欧美日韩vr在线| 精品国产欧美一区二区五十路| 国产精品视频公开费视频| 亚洲天堂av网| 国产精品99久久久久久久久| 狠狠躁夜夜躁人人躁婷婷91| 91网站免费观看| 日韩av在线资源| 亚洲精品美女在线观看| 亚洲欧美日韩国产中文专区| 一色桃子一区二区| 日韩免费在线视频| 国模私拍一区二区三区| 精品久久久久久久久中文字幕| 久久精品国产久精国产一老狼| 日本国产欧美一区二区三区| 欧美第一黄网免费网站| 亚洲已满18点击进入在线看片| 成人观看高清在线观看免费| 色小说视频一区| 日韩在线视频观看正片免费网站| 久久久久在线观看| 国产精品pans私拍| 日韩欧美中文在线| 久久福利视频网| 色噜噜国产精品视频一区二区| 日韩欧美精品网站| 亚洲国产一区二区三区四区| 国产精品久久电影观看| 日本国产高清不卡| 欧美黑人性猛交| 国产精品久久久久久久久久久不卡| 国产精品久久久久久久久影视| 激情亚洲一区二区三区四区| 国产精品国产亚洲伊人久久| 久久久国产精品亚洲一区| 伊人青青综合网站| 亚洲а∨天堂久久精品喷水| 国产精品美女在线观看| 日韩中文字幕久久| 欧美中文在线字幕| 久久久久成人网| 亚洲精品国产拍免费91在线| 亚洲va久久久噜噜噜| 九九热这里只有精品免费看| 成人黄色大片在线免费观看| 亚洲第一视频在线观看| 欧美天堂在线观看| 亚洲日韩中文字幕在线播放| 91久久久久久久久久久久久| 综合av色偷偷网| 亚洲性夜色噜噜噜7777| 国产精品欧美亚洲777777| 欧美一级片久久久久久久| 亚洲自拍欧美色图| 欧美在线视频一区| 国产精品一区二区女厕厕| 欧美成人全部免费| 最近中文字幕mv在线一区二区三区四区| 中文字幕av一区中文字幕天堂| 欧美老女人性视频| 日本精品视频网站| 97av在线视频| 国产精品免费一区二区三区都可以| 欧美wwwwww| 日韩欧美国产网站| 亚洲欧洲在线免费| 国产精品久久久精品| 日韩中文视频免费在线观看| 欧美亚洲一级片| 日韩av电影国产| 亚洲自拍中文字幕| 亚洲欧美综合图区| 欧美成年人视频| 国产精品美女免费视频| 欧美性猛交xxxx| 午夜精品一区二区三区在线| 欧美日韩中文字幕| 亚洲自拍小视频| 国产精品久久久久影院日本| 91免费视频网站| 亚洲国产天堂久久综合网| 成年人精品视频| 日韩中文在线中文网三级| 宅男66日本亚洲欧美视频| 亚洲欧美综合另类中字| 久久99久国产精品黄毛片入口| 亚洲欧美激情在线视频| 日韩中文在线视频| 色综合视频一区中文字幕| 欧美在线亚洲一区| 亚洲精品影视在线观看| 亚洲精品日韩在线| 黑人巨大精品欧美一区二区三区| 亚洲精品中文字幕有码专区| 午夜精品久久久久久久99热| 色综久久综合桃花网| 国产一区二区美女视频| 中文字幕亚洲欧美一区二区三区| 国内成人精品一区| 精品日韩中文字幕| 在线日韩欧美视频| 黄色一区二区在线观看| 在线视频欧美性高潮| 成人激情免费在线| 国产一区二区精品丝袜| 欧美视频一区二区三区…| 欧美日韩亚洲精品一区二区三区| 国产小视频91| 国产乱肥老妇国产一区二| 国产一区二区免费| 成人免费视频网址| 成人黄色生活片| 中文字幕精品在线| 日韩中文字幕亚洲| 欧美日韩国产在线看| 黄色精品一区二区|