当前位置: 首页 > 编程笔记 >

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

詹杰
2023-03-14
本文向大家介绍mysql 5.7 docker 主从复制架构搭建教程,包括了mysql 5.7 docker 主从复制架构搭建教程的使用技巧和注意事项,需要的朋友参考一下

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

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

 类似资料:
  • 本文演示环境是在同一台服务器上部署。因为docker创建容器时默认采用bridge网络,会自行分配ip,不允许指定,重启容器会导致ip变更。所以我们需要创建自定义的bridge网络,这样创建容器的时候才能指定ip。 创建自定义网络 #创建一个新的bridge网络adnc_net docker network create --driver bridge --subnet=172.20.0.0/16

  • 本文向大家介绍详解mongoDB主从复制搭建详细过程,包括了详解mongoDB主从复制搭建详细过程的使用技巧和注意事项,需要的朋友参考一下 详解mongoDB主从复制搭建详细过程 实验目的搭建mongoDB主从复制 mongodb的安装 1: 下载mongodb www.mongodb.org 下载最新的stable版 查看自己服务器 适合哪个种方式下载(wget 不可以的 可以用下面方式下载)

  • 本文向大家介绍使用Docker容器搭建MySql主从复制,包括了使用Docker容器搭建MySql主从复制的使用技巧和注意事项,需要的朋友参考一下 1. 编写主MySQL的Docker文件 新建文件夹,命名为MySQL-master-v1。在文件夹mysql-master-v1中新建文件Dockerfile和master.cnf。笔者推荐使用的编辑器是Visual Studio Code。利用编辑

  • 本文向大家介绍SpringBoot框架搭建教程分享,包括了SpringBoot框架搭建教程分享的使用技巧和注意事项,需要的朋友参考一下 SpringBoot几乎集成了SpringMVC的所有内容,以及tomcat容器,同时去除了繁复的xml配置文件,开发起来十分方便;页面配合thymeleaf模板渲染也是非常简单,如果是前后端分离的项目,那么SpringBoot就专门负责提供restful风格的a

  • 部署架构上采用三台机器,一个Master接受写请求,两个Slave进行数据同步,三台机器上都部署sentinel(一般为奇数个,因为需要绝大部分进行投票才能failover)。(官方示例)具体架构如下图: 注意:如果有条件可以将sentinel多部署几个在客户端所在的应用服务器上,而不是与从节点部署在一起,这样避免整机宕机后sentinel和slave都减少而导致的切换选举sentinel无法超过

  • 我在创建带有依赖项的jar时遇到了一个错误。运行jar时,我遇到以下错误: 这是我的pom。xml文件 但是当我生成jar时,我得到错误无法找到或加载主类com.faro.engine.MainAppLoader这里是我的pom文件。 有什么想法吗? 提前感谢:)