1. 程式人生 > >docker的mysql主從同步配置

docker的mysql主從同步配置

執行環境:ubuntu-server:14.04  docker 1.9

安裝映象:sudo docker pull mysql:5.5

一、在本機建立一個檔案用來存放mysql的配置檔案

我是在/opt/mysql目錄下,分別建立 my.cng(主),my-slave.cnf(從)兩個配置檔案

編寫主庫配置檔案my.cnf:

[mysqld]
log-bin=mysql-bin
server-id=12
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
!includedir /etc/mysql/conf.d/

編寫從庫配置檔案my-slave.cnf:

[mysqld]
log-bin=mysql-bin
server-id=11
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql

#指的是需要同步的資料庫
replicate-do-db=test    
!includedir /etc/mysql/conf.d/

注:Mysql版本從5.1.7以後開始就不支援“master-host”類似的引數,避免踩坑.

mysql的主從複製是基於日誌的所以需要配置:log-bin=mysql-bin  開啟二進位制日誌

server-id需要在主從環境內唯一。

二、

啟動主庫容器:sudo docker run -d -e MYSQL_ROOT_PASSWORD=root  -p 192.168.1.112:3307:3306  -v /opt/mysql/my.cnf:/ect/mysql/my.cnf  --name:mysql-main mysql:5.5

啟動從庫容器:sudo docker run -d -e MYSQL_ROOT_PASSWORD=root -p  192.168.1.112:3308:3306 -v /opt/mysql/my-slave.cnf:/ect/mysql/my.cnf -- name:mysql-slave mysql:5.5

-d:建立後臺程序

-e:設定容器的環境變數 這裡設定了mysql的root密碼

-p(小寫):指定本機和容器的埠對映 格式: host:host-port:container-port

-v :本機檔案對映 格式 : host-file-path:container-file-path

--name :指定容器別名,docker 內唯一,容器啟動後可以用它來重啟容器,關閉容器,用容器的id來操作太麻煩,建議使用這個引數

 操作容器的命令:

sudo docker stop [container-id| container-name]

sudo docker restart  [container-id| container-name]

建立容器後,不需要在執行run命令了,再重新執行上面的run 命令會報錯,因為 容器名已存在,只需要用restart命令即可,重新啟動容器

檢視執行中的容器:sudo docker ps 

檢視建立的所有容器:sudo docker ps -al

重啟或者關閉是忘記容器的名稱可以用以上命令來檢視

個人的一點理解:容器的image相當於java的類,而container相當於java的例項,再重新建立則會報上面說的錯誤

三、

本機用native for mysql連線主庫和從庫檢視容器是否啟動成功

mysql的在主從同步時,從庫是需要一個同步帳號來進行同步的

在主庫中建立同步帳號:

GRANT REPLICATION SLAVE,FILE ON *.* TO 'mysync'@'192.168.1.112' IDENTIFIED BY '123456';

mysync:是從庫同步時要用到的帳號

192.168.1.112:主庫地址

123456:帳號密碼

執行:show master status 


file 是同步需要的檔案,position 開始同步的位置

登陸到從庫:

執行:

CHANGE MASTER TO  MASTER_HOST='192.168.1.112',  #主庫地址 MASTER_PORT=3307, # 主庫埠 MASTER_USER='mysync',  #在主庫中建立的帳號 MASTER_PASSWORD='123456, #密碼 MASTER_LOG_FILE='mysql-bin.000004', # 對應show master staus 中檢視的file MASTER_LOG_POS=3901; # 對應show master staus 中檢視的position  show slave status;
slave_IO_Running 和 slave_IO_Running 都為yes slave_IO_state:waiting for master to send event 看到上圖的狀態則表示配置成功 最後一步開始同步 執行: start slave; 取消同步stop slave;

最後在主庫中插入資料驗證主從是否配置成功

相關推薦

mysql主從同步配置

這就是 sla star 失敗 有效 bin roo orm 相同 文件同步 rsync同步http://www.cnblogs.com/itech/archive/2009/08/10/1542945.html 在當前的生產工作中,大多數應用的mysql主從同步都是異步的

mysql在windows下主從同步配置

mysql5 版本 文件 數據庫復制 exe change ast 授權 create mysql主從同步: 1.為什麽要主從同步? 在Web應用系統中,數據庫性能是導致系統性能瓶頸最主要的原因之一。尤其是在大規模系統中,數據庫集群已經成為必備的配置之一。集群的好處

MySQL 主從同步配置

pass str 設置 user name 滿足 ini flush service 1. MySQL 主從同步配置 1.1. 基礎信息 數據庫主服務器IP:127.0.0.1 數據庫從服務器IP:192.168.1.31 1.2. 主服務器配置文件my.ini配置 (

MySql主從同步配置及實現

數據庫集群 授權 問題 show 不可 leg class status replicat mysql主從復制 隨著技術的發展,在實際的生產環境中,由單臺MySQL數據庫服務器不能滿足實際的需求。此時數據庫集群就很好的解決了這個問題了。采用MySQL分布式集群,能夠搭建一

DNS 主從同步配置

推送 指定 www sta sla not exp 加域 變更 DNS 主從同步配置 主從同步:主每次修改配置文件需要修改一下序列號,主從同步主要 看序列號。 從DNS:從是可以單獨修改,主從不會報錯。但從修改後,主端同步給從後 從端修改數據會丟失 主從原理:從會監聽

mysql5.6 主從同步配置

文件名 登錄 nds 每次 hang mysqldump details 5.6 解決 一:配置前說明 在centos 6環境下配置 mysql 5.6主從同步 準備兩臺測試的虛擬機,2臺虛擬機上都安裝mysql軟件,並開啟mysql服務主master : 192.168.

MySQL 5.6.35主從同步配置案例

MySQL 5.6.35主從同步配置案例MySQL 5.6主從同步配置案例分享本文環境 主庫:Redhat 6.5 x64 192.168.1.180 mysql-5.6.35 備庫:Redhat 6.5 x64 192.168.1.181 mysql-5.6.35 一、常規配置方式一1. mysql主

Redis 主從同步配置

來源:https://www.cnblogs.com/wangxiaoqiangs/p/5640024.html 主從功能: 為了防止 Redis 磁碟損壞,導致資料丟失,Redis 提供了複製功能,將一個主資料庫的資料自動同步到從資料庫,防止資料丟失。 同時還可以配置一主多從來分擔主壓力,

MySql資料主從同步配置

由於需要配置MySQL的主從同步配置,現將配置過程記錄下,已被以後不時之需 MySql資料主從同步 Mysql的 主從同步 是一個非同步的複製過程,從一個 Master複製到另一個 Slave上。在 Master 與 Slave 之間的實現整個複製過程主要由三個執行

Mysql 5.6主從同步配置與解決方案

主庫IP:192.168.1.10 從庫IP:192.168.1.11 1、主庫配置編輯my.cnf: # 啟用二進位制日誌 log_bin = mysql-bin server-id = 111 log-bin-index=mysql-bin.index

docker的mysql主從同步配置

執行環境:ubuntu-server:14.04  docker 1.9 安裝映象:sudo docker pull mysql:5.5 一、在本機建立一個檔案用來存放mysql的配置檔案 我是在/o

Linux下MySQL資料庫主從同步配置

Linux下MySQL資料庫主從同步配置 一.配置mysql主資料庫#172.30.65.122 mysql -u root-p#進入控制檯 create databasecesudb#建立資料庫測速db insert intomysql.user(Host,User,Pa

redis主從同步配置和哨兵機制監控master主從切換配置

搭建好redis單機後,開始研究redis叢集配置 兩臺VM虛擬機器,都安裝了redis程式,一臺作為master 一臺作為slave 首先配置redis主從配置 配置在redis.conf檔案中 主機上需要設定masterauth(光主從同步不需要配置這個,但是後續配置哨

MySQL主從同步配置容易出現的問題以及解決方法

 1.問題一: 如果從庫的Slave_IO_Running為NO。 The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be di

DNS正反向解析和主從同步配置

DNS伺服器的型別 主DNS伺服器 從DNS伺服器 快取DNS伺服器 轉發器 主從簡介 主DNS伺服器: 維護所負責解析的域內解析庫的伺服器;解析庫由管理維護 從DNS伺服器: 從主DNS伺服器或其它的從DNS伺服器那裡“複製”(區域傳遞

mysql 5.7 主從同步配置(windows)

今天在做mysql的主從同步的時候碰到了一些問題,在這裡整理一下。 首先趁著五一假期,主庫停機,複製data至從庫(時間比較長)。 1、配置主庫,主要是my.ini增加如下選項: # Binary Logging. # log-bin log-bi

mysql資料庫備份之主從同步配置

主從同步意義? 主從同步使得資料可以從一個數據庫伺服器複製到其他伺服器上,在複製資料時,一個伺服器充當主伺服器(master),其餘的伺服器充當從伺服器(slave)。因為複製是非同步進行的,所以從伺服器不需要一直連線著主伺服器,從伺服器甚至可以通過撥號斷斷續續地連線主伺服器。通過配置檔案,可以指定

Mysql主從同步配置方案(Centos7)

  最近在做專案高可用時,需要使用資料同步。由於只有雙節點,且採用主主同步可能存在迴圈同步的風險,故綜合考慮採用Mysql主從同步(Master-Slave同步)。   可能沒有接觸過Mysql資料同步時,可能會覺得資料同步很難,但你按照如下操作一遍之後,會發現原來同步如此簡單,畢竟我們只需要會配置,會排查問

記一次LDAP主從同步配置

LDAP主從同步 OpenLDAP在2.3版本之前的同步複製帶有一系列缺點如只支援一主多從模式等,在此缺點就不多說,下文著重介紹一下OpenLDAP V2.4以後的同步負複製功能 同步功能 2.4版最大的功能就是實現了雙向複製,即雙主、多主模式,無論哪一臺master宕機,都不會影響使用。 這裡採用Sy

配置DNS的正反向解析與主從同步

dns配置DNS的正反向解析與主從同步準備:本實驗基於兩臺centos6.5其內核版本號為2.6.32-431.el6.x86_64配置時間同步# echo "#update system date by jiajie at 20170506" >>/var/spool/cron/root #