当前位置: 移动技术网 > IT编程>数据库>Mysql > mysql 5.7 docker 主从复制架构搭建教程

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

全视频之夜,ca1563,济宁电视台招聘

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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网