docker 配置mysql主從複製
一 前提條件
1 具有docker環境的centos7
yum install docker
service docker start
2 mysql映象(版本5.5以上,本文采用8.0)
docker pull mysql:8.0
二 mysql叢集配置檔案
1 建立配置集結構如下
mkdir -p /home/data/mysql/data/master
mkdir -p /home/data/mysql/data/slave
mkdir -p /home/data/mysql/master
mkdir -p /home/data/mysql/slave
2 建立節點配置檔案(master.cnf與slave.cnf)
cd /home/data/mysql/master vi master.cnf
cd /home/data/mysql/slave
vi slave.cnf
內容如下
[mysqld] server-id=1 #任意自然數n,只要保證兩臺MySQL主機不重複就可以了。 log-bin=mysql-bin #開啟二進位制日誌 #auto_increment_increment=2 #步進值auto_imcrement。一般有n臺主MySQL就填n #auto_increment_offset=1 #起始值。一般填第n臺主MySQL。此時為第一臺主MySQL #binlog-ignore=mysql #忽略mysql庫【我一般都不寫】 #binlog-ignore=information_schema #忽略information_schema庫【我一般都不寫】 #replicate-do-db=aa #要同步的資料庫,預設所有庫
三、搭建mysql環境
1 為mysql容器建立專有橋接網路,以便固定mysql容器ip
docker network create --driver bridge --subnet 172.25.0.0/16 mysql_net
備註:建立橋接網絡卡 mysql_net 指定自網段為172.25.0.0 如果不指定ip則與docker容器的docker0網絡卡同網段2 建立mysql容器
(1) master
docker create --privileged=true #為容器掛載目錄新增許可權 --name mysqlmaster #容器名為mysqlmaster -v /home/data/mysql/data/master:/var/lib/mysql #叢集配置集中/data/master 掛載到容器/var/lib/mysql -v /home/data/mysql/master:/etc/mysql/conf.d #配置集中/master 中master.cnf 掛載到 /etc/mysql/conf.d中設定啟動 -e MYSQL_ROOT_PASSWORD=root #設定啟動密碼 --net mysql_net #指定容器連線網路 --ip 172.25.0.3 #指定容器使用ip -p 3307:3306 mysql:8.0 #指定主機對映到容器埠 即 主機訪問centos7 為3307 容器埠為3306
備註:上面#號後需要刪除
(2)salve
docker create
--privileged=true
--name mysqlslave
-v /home/data/mysql/data/slave:/var/lib/mysql
-v /home/data/mysql/salve:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root
--net mysql_net
--ip 172.25.0.2
-p 3308:3306 mysql:8.0
備註:同上
3 啟動容器
docker start mysqlsalve
docker start mysqlmaster
檢視執行狀態
docker ps -a
檢視容器ip
docker network inspect mysql_net
4 容器設定遠端訪問
docker exec -it mysqlmaster /bin/bash
使用容器ip登入 並輸入密碼
mysql -u root -p -h 172.25.0.3
修改root帳號密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
備註:同理進入另一個容器相同操作
5 使用navicat在主機(非centos7)登入mysql容器
四 啟動mysql主從
1 進入master 賦許可權 以及查詢master 的日誌檔案 以及位置
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
GRANT REPLICATION SLAVE ON *.* to 'root'@'%' identified by 'root'; --賦許可權給root使用者
flush privileges; --重新整理許可權
show master status;
2 進入slave 設定slave配置以及啟動slave
change master to
master_host='172.25.0.3', --master的ip 不能為127.0.0.1
master_user='root', --master的帳號密碼
master_password='root',
master_log_file='mysql-bin.000003', --master 查詢的file名 注意上面!
master_port=3306, --master 埠 坑!為容器埠 不是主機埠
master_log_pos=596; --日誌檔案位置 注意上面!
start slave;
show slave status;
備註:主從同步啟動標誌 若出現cennecting to master 則有錯誤 請自己查詢
3 驗證主從
主庫建立任何資料,從庫隨即更新!
祝你成功!
相關推薦
docker 配置mysql主從複製
一 前提條件1 具有docker環境的centos7yum install docker service docker start2 mysql映象(版本5.5以上,本文采用8.0)docker pull mysql:8.0二 mysql叢集配置檔案1 建立配置集結構如下m
win10 使用Docker配置mysql主從複製
開發十年,就只剩下這套架構體系了! >>>
[超入門]使用docker做mysql主從複製實驗
簡介 本文主要介紹如何使用docker快速搭建實驗環境,熟悉mysql主從複製配置。 環境 docker 17.12.1-ce docker-compose 1.19.0 docker-compose.yml 一個主資料庫 一個從資料庫 主從
從零開始,通過docker實現mysql 主從複製,主主複製,圖文並茂,保證可以實現!
建立docker 容器(可以根據一個映象建立多個容器) docker run -tid 映象ID/usr/sbin/init //centos7版本。使用/usr/sbin/init解決systemctl報錯不能使用的問題docker run -tid 映象ID/bin/bash //非cen
從零開始,通過docker實現mysql 主從複製,圖文並茂,保證可以實現!
1.安裝映象 第一次實現docker實現mysql 主從複製的時候,各種百度,各種熱折騰,用了業餘幾天時間才實現!!現在把實現的詳細過程,全部寫出來,希望參對大家有所幫助。首先,準備好環境,映象:CentOS-7-x86_64-DVD-1503-01.iso。用虛擬機器安裝,我的
基於Docker搭建MySQL主從複製
搭建環境Centos 7.2 64位MySQL 5.7.13Docker 1.13.1接下來,我們將會在一臺伺服器上安裝docker,並使用docker執行三個MySQL容器,分別為一主兩從。安裝docker執行命令[root@VM_0_17_centos ~]# yum install docker如果有提
docker安裝mysql主從複製
參與文獻 http://blog.csdn.net/qq362228416/article/details/48569293 docker 安裝mysql主從備份 下載mysql映象 我們獲取最新映象 環境準備如下: 伺服器: 我的伺服器ip: 47.94.
Docker配置mysql主從實現讀寫分離
1. 獲取mysql映象獲取映象$ sudo docker pull mysql 檢視映象$ sudo docker images REPOSITORY TAG IMAGE ID CREATED
通過docker實現mysql主從複製
show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event
ubuntu環境下配置mysql主從複製
我是在VMWare虛擬機器的Ubuntu 16.04上進行的測試,步驟如下 1、依次下載安裝MySQL,我使用的是 sudo apt-get install mysql-server mysql-client線上安裝 2、在主從的終端分別輸入 vim /etc/mys
使用docker配置mysql主從資料庫
docker run -itd -p 3307:3306 --name master -v /usr/local/mysqlData/master/cnf:/etc/mysql/conf.d -v /usr/local/mysqlData/master/data:/var/lib/mysql -e MYSQL
window 配置mysql主從複製
一、安裝mysql 1、解壓安裝包,放在任意哪個盤裡 2、配置mysql變數環境(右擊我的電腦點選屬相,進入高階系統設定,在環境變數裡面找到並修改PATH 在PATH的結尾處 新增; D:\MysqlServer5.6\bin【我的路徑】) 3、D:\MysqlSe
在vmware中使用docker搭建mysql主從複製 --步步為營
拉取mysql映象#docker pull daocloud.io/library/mysql:5.7.7檢視映象啟動master和slave容器docker run -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --nam
docker配置mysql主從與django實現讀寫分離
一、搭建主從mysql環境 1 下載mysql映象 docker pull mysql:5.7 2 執行剛下載的mysql映象檔案 # 執行該命令之前可以使用`docker images`是否下載成功 docker run -p 3307:3306 --name mysql-master -v /mysql
Docker搭建MySQL主從複製
# Docker搭建MySQL主從複製 1. ##### 主從伺服器上分別安裝Docker 1.1 Docker 要求 CentOS 系統的核心版本高於 3.10 ```shell [root@localhost ~]# uname -r 3.10.0-693.el7
Docker進行MySQL主從複製操作
>Docker的相關操作 與 Docker下MySQL容器的安裝 https://www.cnblogs.com/yumq/p/14253360.html >本次實驗我是在單機狀態下進行mysql的主從複製,和多機的原理一樣 # 準備多個mysql容器 > 相關引數 ```txt --name 容器的名稱命
docker下配置mysql 主從
see 記錄 lan doc mysqld erro repl clu serve 本機docker下配置mysql主從 首先安裝docker mysql容器 $ docker pull mysql:5.6 拉取兩個相同版本mysql 分別啟動mysql 並設置root
mysql主從複製配置!轉!最簡!親測可用!18年11月21日
轉發地址:https://blog.csdn.net/deeplearnings/article/details/78398526 1、主從伺服器分別作以下操作: 1.1、版本一致 1.2、初始化表,並在後臺啟動mysql 1.3、修改
Docker Mysql 主從複製+讀寫分離
整體規劃 host ----------- ip--------------------port---------------------說明 -----------------192.168.100.30 10088 Keepalived-VIP Proxysql-21 192.168
mysql主從複製詳細配置說明
主從資料庫配置的前題是:兩個資料庫的版本要一致 1、修改主MySQL的配置 如主資料庫的IP: 192.168.1.72 [[email protected] etc] vi /home/rpm/mysql/mysql5.5/my.cnf 新增以下配