成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

詳解Docker方式實現(xiàn)MySql主從復(fù)制(實踐篇)

本文實踐了用Docker方式來實現(xiàn)基于binlog的MySQL主從復(fù)制。關(guān)于MySql主從復(fù)制的原理將在下一篇中進行講解。

十載專注成都網(wǎng)站制作,成都定制網(wǎng)頁設(shè)計,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)頁設(shè)計,高端網(wǎng)頁制作,對墻體彩繪等多個方面,擁有多年的網(wǎng)站維護經(jīng)驗。

一些數(shù)據(jù)的本地存儲目錄結(jié)構(gòu)

mysql >tree -L 2
.
├── data
│  ├── master01
│  └── slave01
├── master01
│  └── master01.cnf
└── slave01
  └── slave01.cnf

master01.cnf配置

[mysqld]
log-bin=mysql-master01-bin # 使用binary logging,mysql-master01-bin是log文件名的前綴
server-id=1 # 唯一服務(wù)器ID,非0整數(shù),不能和其他服務(wù)器的server-id重復(fù)

slave01.cnf配置

[mysqld]
log-bin=mysql-slave01-bin 
server-id=2  

創(chuàng)建master01容器

復(fù)制代碼 代碼如下:

docker run -d --name master01 -v /Users/craneyuan/backup/docker/mysql/data/master01:/var/lib/mysql -v /Users/craneyuan/backup/docker/mysql/master01:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 mysql:5.7

注意:啟動容器的時候不要立刻就去連接數(shù)據(jù)庫,會造成一些莫名奇妙的問題,比如連不上,可以將數(shù)據(jù)都刪掉然后restart容器。

創(chuàng)建slave01容器

復(fù)制代碼 代碼如下:

docker run -d --name slave01 -v /Users/craneyuan/backup/docker/mysql/data/slave01:/var/lib/mysql -v /Users/craneyuan/backup/docker/mysql/slave01:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3308:3306 mysql:5.7

在master01中添加復(fù)制用戶

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';

show master status; # 查看master的狀態(tài)

在slave01中配置與master01相關(guān)的內(nèi)容

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

change master to master_host='192.168.10.223',master_port=3307,master_user='backup',master_password='123456',master_log_file='mysql-master01-bin.000003', master_log_pos=154;

master_host是宿主機的IP(ifconfig查到的操作系統(tǒng)IP,不是容器的IP,一定不能搞錯) 
master_port是主服務(wù)器的映射到3306的端口(默認3306) 
master_user為創(chuàng)建的備份用戶 
master_password備份用戶的密碼 
master_log_file和master_log_pos則是show master status列表里面的兩個值,分別是mysql日志名和起始備份位置 

啟動slave(依然在slave01中操作)

start slave; 
show slave status; 或者show slave status\G;

如果是Waiting for master to send event則說明主從復(fù)制成功了,若是Connecting to master肯定是配置錯誤,樓主就錯了幾次,重刪除配置一下就行,這就是容器的好處,刪除的代價很小,短時間就可以恢復(fù)。如果是Waiting for master to send event,對主庫的增刪改查從庫都會同步修改。

擴展問題

slave設(shè)置為只讀

在slave的配置文件中添加下面的選項

read-only=1    # 除非有SUPER權(quán)限,否則只讀
super-read-only=1 # SUPER權(quán)限也是只讀

其他

如果master已經(jīng)有數(shù)據(jù)了,怎么新增slave:可以先把master的數(shù)據(jù)導(dǎo)入到slave,再啟動slave。具體可以參考這里。

如果已經(jīng)有主從復(fù)制了,怎么增加slave:思路同上,不過不需要使用master的數(shù)據(jù),直接用已有的slave數(shù)據(jù)就可以了。不需要停止master,新slave使用新的server-id。具體可以參考這里。

前面介紹的都是主從,如果需要slave也能同步到master就要設(shè)置主主復(fù)制:也就是說反過來再做一遍。

當slave比較多得時候,master的負載可能會成為問題??梢杂弥鲝亩嗉墢?fù)制:以slave為master來再引入新的slave。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

分享標題:詳解Docker方式實現(xiàn)MySql主從復(fù)制(實踐篇)
網(wǎng)頁URL:http://jinyejixie.com/article46/pgephg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗網(wǎng)站內(nèi)鏈、響應(yīng)式網(wǎng)站網(wǎng)頁設(shè)計公司、標簽優(yōu)化品牌網(wǎng)站建設(shè)

廣告

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

綿陽服務(wù)器托管
即墨市| 锡林浩特市| 新绛县| 宝山区| 土默特右旗| 随州市| 苍南县| 辰溪县| 新兴县| 来宾市| 百色市| 来宾市| 夏邑县| 云霄县| 乌海市| 客服| 辛集市| 丹巴县| 鹤壁市| 木兰县| 城口县| 卓资县| 龙南县| 崇信县| 保定市| 来安县| 拉萨市| 珲春市| 敦煌市| 藁城市| 通化市| 利津县| 名山县| 怀集县| 元谋县| 锡林郭勒盟| 蒲江县| 吴川市| 蓝山县| 武隆县| 界首市|