Mysql主从搭建 基于DOCKER

这篇具有很好参考价值的文章主要介绍了Mysql主从搭建 基于DOCKER。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建目录

#主节点目录
mkdir -p /home/data/master/mysql/

#从节点目录
mkdir -p /home/data/slave/mysql/

创建配置文件

# 主节点配置
touch /home/data/master/mysql/my.cnf

# 从节点配置
touch /home/data/slave/mysql/my.cnf

编辑配置文件

主节点配置文件

vim /home/data/master/mysql/my.cnf
[mysqld]
# 开启 binlog
log-bin=mysql-bin
binlog_format=row
#server_id不要重复
server-id=1

从节点配置文件

vim /home/data/slave/mysql/my.cnf
[mysqld]
# 开启 binlog
log-bin=mysql-bin
binlog_format=row
#server_id不要重复
server-id=2

部署节点

部署主节点

docker run \
    -p 3307:3306 \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -v /home/data/master/mysql/conf:/etc/mysql/conf.d \
    -v /home/data/master/mysql/data:/var/lib/mysql:rw \
    -v /home/data/master/mysql/my.cnf:/etc/mysql/my.cnf \
    --name mysql_master \
    --restart=always \
    -d mysql:8.0

部署从节点

docker run \
    -p 3308:3306 \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -v /home/data/slave/mysql/conf:/etc/mysql/conf.d \
    -v /home/data/slave/mysql/data:/var/lib/mysql:rw \
    -v /home/data/slave/mysql/my.cnf:/etc/mysql/my.cnf \
    --name mysql_slave \
    --restart=always \
    -d mysql:8.0

配置权限

主节点执行

-- 创建slave用户
CREATE USER 'demo_slave'@'%';
-- 设置密码
ALTER USER 'demo_slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456789';
-- 授予复制权限
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'demo_slave'@'%';
-- 刷新权限
FLUSH PRIVILEGES;

主节点执行命令

SHOW MASTER STATUS;

该命令会返回以下信息:

名称 说明
File 当前正在写入的二进制日志文件名
Position 当前正在写入的二进制日志文件的位置
Binlog_Do_DB 指定需要写入二进制日志的数据库名
Binlog_Ignore_DB 指定不需要写入二进制日志的数据库名

Mysql主从搭建 基于DOCKER,mysql,# Docker,mysql,docker,adb

配置从库读取主节点配置

change master to master_host='主节点ip', master_user='demo_slave', master_password='123456789', master_port=3307, master_log_file='mysql-bin.000003', master_log_pos=2023, master_connect_retry=30;

参数说明

参数 说明
master_port Master的端口号,指的是容器的端口号
master_user 用于数据同步的用户
master_password 用于同步的用户的密码
master_log_file 指定Slave从哪个日志文件开始复制数据,即上文中提到的File字段的值
master_log_pos 从哪个Position开始读,即上文中提到的Position字段的值
master_connect_retry 如果连接失败,重试的时间间隔,单位是秒,默认是60秒

设置从数据库开启主从服务

start slave;

查询下当前从服务器的状态

show slave status;

Mysql主从搭建 基于DOCKER,mysql,# Docker,mysql,docker,adb文章来源地址https://www.toymoban.com/news/detail-627989.html

  • Slave_IO_RunningSlave_SQL_Running 都是Yes 就成功了,可以进行测试一下

到了这里,关于Mysql主从搭建 基于DOCKER的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 docker 搭建 mysql 主从配置

    真正的配置文件是docker中 /etc/my.cnf 拉取镜像 docker pull mysql:5.7 启动主数据库和从数据库 用 Navicat 连接测试,都能连上说明启动正常 修改 docker 中 my.cnf 配置文件,需要复制到本机再修改,修改后再复制回 docker,可以用 centos 图形版自带的编辑工具 进入 master 创建账号 修改 m

    2024年02月03日
    浏览(22)
  • Docker 搭建MySQL主从复制-读写分离

    MySQL主从复制是一种常用的数据库高可用性解决方案,通过在主数据库上记录的数据变更,同步到一个或多个从数据库,实现数据的冗余备份和读写分离。在Docker环境下搭建MySQL主从复制和读写分离,不仅方便管理,还能充分发挥Docker的轻量、可移植性等特性。 在开始搭建之

    2024年02月22日
    浏览(34)
  • docker创建MySQL镜像,搭建主从复制环境

    学习黑马的MySQL时,在主从复制、分库分表、读写分离等阶段需要多台服务器,于是尝试用docker创建镜像搭建主从复制环境。 本文基于centos7搭建mysql镜像。 参考大佬文章: link 编写mysql_file文件: 由于需要进行编辑操作,所以需要额外下载vim 编写run.sh文件 build MySQL镜像 以特权

    2024年02月07日
    浏览(35)
  • 利用docker搭建mysql主从服务器

    1.首先拉取docker镜像,我们这里使用5.7版本的mysql: 2.然后使用此镜像启动容器,这里需要分别启动主从两个容器 3.配置Master(主) 通过docker名称进入:docker exec -it master /bin/bash`/

    2024年02月11日
    浏览(34)
  • 使用docker-compose搭建mysql主从

    目录 一、docker-compose和主从的简介 1、docker-compose 2、mysql主从 3、为什么要使用docke-compose? 二、部署mysql主从集群 1、mysql-master主库 2、mysql-slave从库 三、安装docker-compose 1、上传文件 2、添加可执行权限 3、创建并编辑docker-compose.yml文件 4、运行docker-composeysql.yml 四、配置mysql主

    2024年02月07日
    浏览(26)
  • Docker 容器搭建mysql 集群(主从数据库)

    目录 1.背景         2.设备及软件版本 3.开始搭建(这里不介绍安装docker及mysql) 3.1创建主数据库容器(master) 3.2查看容器是否创建成功 3.3进入修改容器下的/etc/my.cnf文件 3.3.1先拷贝my.cnf到容器外修改完再覆盖容器原来的my.cnf文件 3.4重启mysql容器使配置文件生效 3.5查看是否

    2024年02月08日
    浏览(88)
  • Docker搭建MySQL8.0主从复制(一主一从)

    宿主机使用的版本为 19045 的win10专业版,MySQL使用的是8.0+,Docker容器使用Linux。 略 修改Docker默认安装路径 安装包自己就提供了修改安装路径的功能,CMD中运行: “Docker Desktop Installer.exe” install --installation-dir= --installation-dir=path : changes the default installation location ( C:Program Fil

    2024年01月25日
    浏览(32)
  • 服务器离线部署docker,镜像迁移,mysql主从搭建等服务

    公司项目要上线项目,买了两台云服务器,需进行环境部署(1台接入公网,一台只能局域网访问),主要部署以下内容 1、服务器之间配置ssh免密 2、离线docker部署 3、docker镜像迁移 4、redis服务 5、minio文件服务 6、kkFileView文件预览服务 7、mysql主从搭建 目录 1、配置两台服务器

    2024年02月04日
    浏览(30)
  • 分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(二)

            说明:如果实现了docker部署mysql并完成主从复制的话再继续,本篇文章主要说明springboot配置实现Shardingjdbc进行读写分离操作。 如果没实现docker部署mysql实现主从架构的话点击我 application.yml配置设置连接池全局属性 shardingjdbc读写分离配置(qiyu-db-sharding.yaml) 同时这

    2024年02月15日
    浏览(29)
  • 分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离 (三)

            本篇主要说明:                 1. 因为这个mysql版本是8.0,所以当其中一台mysql节点挂掉之后,主从同步,甚至双向数据同步都失效了,所以本篇主要记录下当其中的节点挂掉之后如何再次生效。 另外推荐大家使用mysql5.7的版本,这样当其他节点失效后就不

    2024年02月14日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包