首页 数据库 mysql教程 mysql 5.7 docker 主从复制架构搭建教程_MySQL

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

Sep 09, 2016 am 08:13 AM
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 ...  
那就成功了 ! ! !

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

docker怎么创建镜像 docker怎么创建镜像 Apr 15, 2025 am 11:27 AM

创建 Docker 镜像步骤:编写包含构建指令的 Dockerfile。在终端中构建镜像,使用 docker build 命令。标记镜像,使用 docker tag 命令分配名称和标签。

docker desktop怎么用 docker desktop怎么用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop?Docker Desktop 是一款工具,用于在本地机器上运行 Docker 容器。其使用步骤包括:1. 安装 Docker Desktop;2. 启动 Docker Desktop;3. 创建 Docker 镜像(使用 Dockerfile);4. 构建 Docker 镜像(使用 docker build);5. 运行 Docker 容器(使用 docker run)。

docker版本怎么看 docker版本怎么看 Apr 15, 2025 am 11:51 AM

要获取 Docker 版本,您可以执行以下步骤:运行 Docker 命令“docker --version”来查看客户端和服务器版本。对于 Mac 或 Windows,还可以通过 Docker Desktop GUI 的“版本”选项卡或“关于 Docker Desktop”菜单查看版本信息。

docker容器名称怎么查 docker容器名称怎么查 Apr 15, 2025 pm 12:21 PM

可以通过以下步骤查询 Docker 容器名称:列出所有容器(docker ps)。筛选容器列表(使用 grep 命令)。获取容器名称(位于 "NAMES" 列中)。

docker怎么更新镜像 docker怎么更新镜像 Apr 15, 2025 pm 12:03 PM

更新 Docker 镜像的步骤如下:拉取最新镜像标记新镜像为特定标签删除旧镜像(可选)重新启动容器(如果需要)

docker内的文件怎么拷贝到外面 docker内的文件怎么拷贝到外面 Apr 15, 2025 pm 12:12 PM

Docker 中将文件拷贝到外部主机的方法:使用 docker cp 命令:执行 docker cp [选项] <容器路径> <主机路径>。使用数据卷:在主机上创建目录,在创建容器时使用 -v 参数挂载该目录到容器内,实现文件双向同步。

docker镜像源怎么换国内 docker镜像源怎么换国内 Apr 15, 2025 am 11:30 AM

可切换到国内镜像源,步骤如下:1. 编辑配置文件 /etc/docker/daemon.json,添加镜像源地址;2. 保存退出后,重启 Docker 服务 sudo systemctl restart docker,即可提升镜像下载速度和稳定性。

docker镜像怎么保存 docker镜像怎么保存 Apr 15, 2025 am 11:54 AM

在 Docker 中保存镜像,可以使用 docker commit 命令创建新的镜像,包含指定容器的当前状态,语法为:docker commit [选项] 容器ID 镜像名称。要保存镜像到仓库,可以使用 docker push 命令,语法为:docker push 镜像名称[:标签]。要导入已保存的镜像,可以使用 docker pull 命令,语法为:docker pull 镜像名称[:标签]。

See all articles