技术文摘
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的主从复制架构搭建完成,你可以放心地享受该架构带来的便利与优势。
- 发送form-data数据时 boundary 是浏览器自动设置还是需手动指定
- 文本末尾数字或图标怎样实现居中显示
- ESLint提示未使用变量时Tree Shaking是否仍有用
- 按需引入Vant框架后JS表达式组件无样式原因
- Vite 按需引入 Vant 时表达式组件无法加载样式的原因
- CSS 如何实现数字或图标在文本末尾居中显示
- 在 JavaScript 异步函数里怎样处理带条件的数据校验
- CSS实现数字或图标在文本末尾居中且适应字体大小的方法
- Vite按需引入Vant样式存差异:标签组件样式可显示,JavaScript表达式组件却不行原因何在
- HTML和CSS实现图片曲线拉伸与排列布局的方法
- React组件异步更新时Count无法获取更新后值的原因
- JavaScript异步函数避免空数组错误的方法
- 阻止JavaScript中异步函数执行直至满足特定条件的方法
- 利用Canvas API弯曲拉伸图片的方法
- CSS实现数字或图标在文本末尾居中显示且小字号的方法