您的位置:首页 > 运维架构 > Docker

mysql 5.7 docker 主从复制架构搭建教程

2016-07-25 00:00 1091 查看
分享mysql 5.7 docker 主从复制架构搭建教程,供大家参考,具体内容如下

环境版本:

MySQL : 5.7.13

Docker : 1.11.2

CentOS : 7.1

1.先在两个物理机上分别安装两个MySQL.命令如下

docker pull mysql:5.7.13

docker run --name anuo-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=qaz.00JK -d mysql:5.7.13


2.在主库上创建一个复制账户

GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.2.103' IDENTIFIED BY 'qaz.00JK';


复制账户为: rep1

指定从库的IP必须为: 192.168.2.103

复制密码为: qaz.00JK

3.修改主库的配置文件 (麻烦,应该有更方便的修改方式)

3.1先从docker拷贝配置文件到主机/root 目录:

docker cp anuo-mysql:/etc/mysql/my.cnf /root

3.2在主机打开 my.cnf , 在 [mysqld] 节点最后加上

log-bin=mysql-bin

server-id=1

3.3 再把此文件上传到docker mysql 里面覆盖

docker cp /root/my.cnf anuo-mysql:/etc/mysql/my.cnf

3.4 重启 mysql 的docker , 让配置生效

docker restart anuo-mysql

4. 修改从库的配置文件



跟第三步一样, 唯一不同是

server-id=2

5. 开始备份, 在主库执行以下命令, 让主库所有表置于只读不能写的状态, 这样达到主从库数据一致性

FLUSH TABLES WITH READ LOCK;

6. 将主库的数据库备份在从库还原

用navicat for mysql 很方便操作

7. 从库还原后, 释放主库的读锁, 这样主库恢复写权限



unlock tables;

8.配置从库连接主库, 在从库上执行

CHANGE MASTER TO
MASTER_HOST='192.168.2.108',
MASTER_PORT=3306,
MASTER_USER='rep1',
MASTER_PASSWORD='qaz.00JK',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=898;


最后两项

MASTER_LOG_FILE 和 MASTER_LOG_POS

在主库执行 : SHOW MASTER STATUS; 命令可以取得

对应的字段是 File 和 Position

9. 在从库启动 slave 线程开始同步

START SLAVE;

10.在从库 查看同步状态

show slave status;

如果看到 Slave_Io_State 字段有 :

Waiting for master to send event ...

那就成功了 ! ! !

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

ubuntu14.04+docker的安装及使用
Docker 清理命令集锦
利用OpenVSwitch在多台主机上部署Docker的教程
在Docker上开始部署Python应用的教程
再Docker中架设完整的WordPress站点全攻略
在windows下的安装Docker的教程
在Docker上部署Python的Flask框架的教程
基于 Docker 开发 NodeJS 应用
Docker到底是什么?Docker为什么它这么火!
在Docker中自动化部署Ruby on Rails的教程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql5.7 docker 架构