中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker中怎么搭建mysql主從復制

發布時間:2021-06-21 14:58:28 來源:億速云 閱讀:118 作者:Leah 欄目:大數據

今天就跟大家聊聊有關docker中怎么搭建mysql主從復制,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

一、通過docker安裝mysql,我在這里選擇是的5.6版本

1)搜索從docker啦取mysql鏡像

docker pull mysql:5.6

2)使用本鏡像啟動兩個mysql容器(主、從容器)

master(主)

docker run -p 3316:3306 --name master-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

slave(從)

docker run -p 3317:3306 --name slave-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

參數解析:

-p 將容器的 3306 端口映射到主機的 3306 端口。

--name 使用docker鏡像mysql:5.6,將容器命名為mastermysql。

-e -e MYSQL_ROOT_PASSWORD=123456 初始化密碼。

-d 后臺運行容器,并返回容器ID。

查看容器是否正常運行:docker ps

二、配置mysql主服務器(Master)

1)進入mysql主服務器內部

docker exec -it e8355163bbbc /bin/bash

2)編輯my.cnf

cd /etc/mysql

編輯 my.cnf(vim my.cnf)

注意:可能會提示vim沒有安裝,可以運行 apt-get install vim 安裝,然后再執行vim my.cnf

在末尾處添加

[mysqld]
server-id=100
log-bin=mysql-bin

配置完成后需要重啟mysql,重啟過程中docker鏡像也會停止,所以也需要重啟一下鏡像

service mysql restart

docker start mysql-master

3)下一步在Master數據庫創建數據同步用戶,授予用戶 slave REPLICATION SLAVE權限和REPLICATION CLIENT權限,用于在主從庫之間同步數據。

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

三、配置mysql從服務器(Slave)

1)進入mysql從服務器內部

docker exec -it 從服務器id /bin/bash

2)編輯my.cnf

cd /etc/mysql

編輯 my.cnf(vim my.cnf)

注意:可能會提示vim沒有安裝,可以運行 apt-get install vim 安裝,然后再執行vim my.cnf

在末尾處添加

[mysqld]
server-id=101
log-bin=mysql-slave-bin

relay_log=edu-mysql-relay-bin

配置完成后需要重啟mysql,重啟過程中docker鏡像也會停止,所以也需要重啟一下鏡像

service mysql restart

docker start mysql-slave

四、其他設置

1)鏈接Master(主)和Slave(從)

在Master進入mysql,執行show master status;

File和Position字段的值后面將會用到,在后面的操作完成之前,需要保證Master庫不能做任何操作,否則將會引起狀態變化,File和Position字段的值變化。

2)在Slave中進入mysql,執行

change master to master_host='172.17.0.2', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 433, master_connect_retry=30;

命令說明:

master_host :Master的地址,指的是容器的獨立ip,可以通過docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名稱|容器id查詢容器的ip

master_port:Master的端口號,指的是容器的端口號

master_user:用于數據同步的用戶

master_password:用于同步的用戶的密碼

master_log_file:指定 Slave 從哪個日志文件開始復制數據,即上文中提到的 File 字段的值

master_log_pos:從哪個 Position 開始讀,即上文中提到的 Position 字段的值

master_connect_retry:如果連接失敗,重試的時間間隔,單位是秒,默認是60秒

3)在Slave 中的mysql終端執行 show slave status \G; 用于查看主從同步狀態。

正常情況下,SlaveIORunning 和 SlaveSQLRunning 都是No,因為我們還沒有開啟主從復制過程。使用start slave;開啟主從復制過程,然后再次查詢主從同步狀態show slave status \G;

看完上述內容,你們對docker中怎么搭建mysql主從復制有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

讷河市| 犍为县| 徐水县| 共和县| 武强县| 凤翔县| 龙陵县| 华安县| 军事| 仙桃市| 泰顺县| 柯坪县| 萨迦县| 洪泽县| 平凉市| 宿松县| 石阡县| 托克托县| 康马县| 江孜县| 定边县| 运城市| 冷水江市| 壤塘县| 安龙县| 钟山县| 营山县| 宜春市| 农安县| 育儿| 延安市| 泸州市| 固阳县| 墨玉县| 年辖:市辖区| 诏安县| 二手房| 成武县| 张北县| 防城港市| 永吉县|