视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql5.7docker主从复制架构搭建教程
2020-11-09 20:46:47 责编:小采
文档


分享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=8;

最后两项 
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 ...  
那就成功了 ! ! !

下载本文
显示全文
专题