mysql 5.7 docker 主从复制架构搭建教程
分享mysql 5.7 docker 主从复制架构搭建教程,供大家参考,具体内容如下
环境版本:
MySQL : 5.7.13
Docker : 1.11.2
CentOS : 7.1
1.先在两个物理机上分别安装两个MySQL.命令如下
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 ...
那就成功了 ! ! !
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- centos6.5上安装docker
- docker容器的网络信息查看
- openstack kilo-with-dokcer
- 架构纵横谈之二 ---- 架构的模式与要点
- BS项目中的CSS架构_仅加载自己需要的CSS
- 在windows下的安装Docker的教程
- 8个你可能不知道的Docker知识
- 关于三种主流WEB架构的思考
- Mysql5.7修改root密码教程
- mysql 5.7.13 解压缩版(免安装)安装配置教程
- Android操作系统的架构设计分析
- 全面解析Windows下安装 mysql5.7的方法
- w3c技术架构介绍
- linux学习笔记 linux目录架构
- mysql5.7.13 环境搭建教程(解压缩版)
- MySQL 5.7 学习心得之安全相关特性
- 图文详解mysql5.7安装教程
- mysql5.7数据库安装完成后如何配置环境变量
- 在Docker中自动化部署Ruby on Rails的教程
- mysql5.7.13.zip安装教程(windows)