Docker 方式 MySQL 主從搭建

環境準備

  • CentOS 7
  • Docker 18.09.0
  • MySQL 5.7

環境搭建

  1. 使用 Docker 搜索 MySQL 鏡像,而且拉取 MySQL 5.7 版本.
docker search mysql
複製代碼

docker pull mysql:5.7
複製代碼

  1. 首先新建一個文件夾 master 裏面存放 MySQL 主節點的配置文件 my.cnf
mkdir master && vi ./master/my.cnf
複製代碼

開啓 bin log 和指定 server-idmysql

[mysqld]
## 開啓二進制日誌功能
log-bin = mysql-bin
## 設置server_id,通常設置爲IP,注意要惟一
server-id = 3310
複製代碼
  1. Docker 運行 MySQL 鏡像
docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name master -v $PWD/master:/etc/mysql/conf.d -p 3310:3306 mysql:5.7 複製代碼

運行成功後使用 docker ps mysql 查看 MySQL 實例運行狀態sql

  1. Docker 方式鏈接 MySQL
docker exec -it master bash
 mysql -uroot -p
複製代碼

  1. 檢查 主節點 MySQL 的 master 狀態和 bin log 開啓狀況

  1. 一樣方式搭建從節點 MySQL 實例
mkdir slave && vi ./slave/my.cnf
複製代碼

  1. Docker 方式運行從節點 MySQL 實例
docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name slave -v $PWD/slave:/etc/mysql/conf.d -p 3311:3306 mysql:5.7 複製代碼

  1. 進入從節點 MySQL 實例關聯主節點 MySQL 實例
change master to master_host='localhost', master_user='root', master_password='123456', master_port=3310, master_log_file='mysql-bin.000003', master_log_pos=154, master_connect_retry=60;
複製代碼
  1. 從節點 MySQL 開啓同步,而且查看同步狀態
start slave
show slave status
複製代碼

當 SlaveIORunning 和 SlaveSQLRunning 都是 Yes 了,代表同步開啓成功,接下來就是驗證了.

結果驗證

  1. 首先鏈接進入主節點 MySQL 實例,而且建立數據庫 test
docker exec -it master bash
mysql -uroot -p123456
create database test;
複製代碼

  1. 鏈接進入從節點 MySQL 實例,查看當前數據庫
docker exec -it slave bash
mysql -uroot -p123456
show databases;
複製代碼

能夠從圖中看到此刻主節點新增數據庫的操做也同步到從節點上了.docker

到此, Docker 方式的簡單版本 MySQL 主從搭建就算完成了.shell

相關文章
相關標籤/搜索