技术文摘
MySQL 5.7基于Docker搭建主从复制架构教程
MySQL 5.7基于Docker搭建主从复制架构教程
在当今的数据库应用场景中,主从复制架构能够有效提升数据的可用性、读写性能以及数据安全性。本文将详细介绍如何基于Docker搭建MySQL 5.7主从复制架构。
确保已经安装了Docker环境。若没有安装,需按照官方文档进行安装配置。
接着,拉取MySQL 5.7镜像。在命令行中输入:docker pull mysql:5.7 ,等待镜像拉取完成。
创建主服务器容器。使用如下命令:
docker run -p 3306:3306 --name mysql-master \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=test \
-e MYSQL_USER=test \
-e MYSQL_PASSWORD=test \
-d mysql:5.7
这里将容器的3306端口映射到宿主机的3306端口,设置了root密码、数据库、用户名和密码等信息。
进入主服务器容器,修改主服务器配置。进入容器:docker exec -it mysql-master bash 。然后编辑MySQL配置文件,在 [mysqld] 下添加如下配置:
log-bin=mysql-bin
server-id=1
重启MySQL服务:service mysql restart 。
创建用于主从复制的用户并授权。进入MySQL客户端:mysql -uroot -proot ,执行如下命令:
CREATE USER'slave'@'%' IDENTIFIED BY'slave';
GRANT REPLICATION SLAVE ON *.* TO'slave'@'%' IDENTIFIED BY'slave';
FLUSH PRIVILEGES;
查询主服务器状态:SHOW MASTER STATUS; ,记录File和Position的值。
接下来创建从服务器容器,使用类似主服务器的命令创建,注意修改端口映射和容器名,如:
docker run -p 3307:3306 --name mysql-slave \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=test \
-e MYSQL_USER=test \
-e MYSQL_PASSWORD=test \
-d mysql:5.7
进入从服务器容器,修改配置文件,在 [mysqld] 下添加:
server-id=2
重启MySQL服务。
配置从服务器,进入MySQL客户端,执行如下命令:
CHANGE MASTER TO
MASTER_HOST='宿主机IP',
MASTER_USER='slave',
MASTER_PASSWORD='slave',
MASTER_LOG_FILE='主服务器记录的File值',
MASTER_LOG_POS=主服务器记录的Position值;
启动从服务器复制:START SLAVE; ,查看从服务器状态:SHOW SLAVE STATUS \G ,确保 Slave_IO_Running 和 Slave_SQL_Running 都为 Yes 。
至此,MySQL 5.7基于Docker的主从复制架构搭建完成,你可以放心地享受该架构带来的便利与优势。
- Go中使用多类型任意参数指针同步修改原始对象的方法
- Python与Node.js代码盐值不一致致输出有差异,解决方法是什么
- Gunicorn服务器挂掉的应对方法及确保Python应用稳定运行之道
- torch_tensorrt中动态批次大小的设置方法
- Python中super()方法显式调用与隐式调用的区别
- Python里super(A, self).__init__()与super().__init__()有何区别
- ThinkPHP6彻底去除右下角图标的方法
- 轻松上手桌面自动化脚本的方法,有哪些推荐的库和框架
- Python OSS2如何为特定路径对象设置公开访问权限
- macOS下virtualenv不能用,怎样正确创建与激活虚拟环境
- conda安装CUDA后如何在pip list中找到它们
- 用Python的turtle库绘制星号正方形的方法
- 把含重复元素的集合拆分成多个无重复元素小集合的方法
- FastAPI中使用逗号分割列表类型查询参数的方法
- Python Flask框架中拦截请求的方法