mysql5.7docker主从复制架构搭建好代码教程

在北方每当春回大地,丁香花便不甘寂寞,也会兴致匆匆竟相开放,把他那扑扑幽香……丁香花色繁多有紫色,红色,白色等在没有梅雨的六月里散发着香水般芳菲的气息。天坛公园有个丁香林,置身其中,人真会有些要被花香熏晕的感觉多么忧郁的花。多么娇嫩的花。院子里栽满丁香花。开满紫色美丽的鲜花。丁香花小,一簇一簇的,有白有紫,路边的丁香花已孕育花苞,树下围了不少人指着花苞吵吵嚷嚷,别着急呀,只等春雷一响就会竞相绽放。

分享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 ...
那就成功了 ! ! !

到此这篇关于mysql5.7docker主从复制架构搭建好代码教程就介绍到这了。烈火燃烧青春的血,冰水冻结年轻的骨,让新一代因残酷而傲立,因绚烂而精明,因瑰丽而传奇。更多相关mysql5.7docker主从复制架构搭建好代码教程内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
linux下如何利用Docker安装mysql的步骤

新手把mysql装进docker中碰到的各种问题

Dockermysql主从配置详解及实例

ubuntu下在docker中安装mysql5.6的方法

在Docker中如何使用MySQL的好代码教程