docker 搭建mysql集群一主一从,两台机器

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

一、准备两条机器,分别为IP1和IP2,其中IP1为主,IP2为从
二、在两台机器上分别拉取mysql镜像

docker pull mysql:8.0.29

三、在home目录下新建目录,分别为/home/mysql/data,/home/mysql/conf
1、在IP1主机下的/home/mysql/conf目录下新建my.cnf文件,内容为

[mysqld]
server-id=1
 
#binlog_format=STATEMENT
 
#这里需要注意,因为STATEMENT 性能是最好的,但是我们需要使用canal,所以这里需要使用row格式,如果不需要使用可以使用STATEMENT
binlog_format=row

2、在IP2从机的/home/mysql/conf目录下新建my.cnf文件,内容为

[mysqld]
# 服务器唯一id,每台服务器的id必须不同,如果配置其他从机,注意修改id
server-id=2
# 中继日志名,默认xxxxxxxxxxxx-relay-bin
#relay-log=relay-bin

四、在主机目录下执行如下操作:
1、运行生产docker容器:

docker run -d \
-p 3306:3306 \
-v /home/mysql/conf:/etc/mysql/conf.d \
-v /home/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=xxxxxx \
--name mysql-master \
mysql:8.0.29

2、进入容器

docker exec -it mysql-master /bin/bash 

docker exec -it mysql-master /bin/bash 

mysql - uroot - pxxxxxx

3、在主机中创建slave用户

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

4、主机中查询master状态,一定要记住,仓库配置时需要

SHOW MASTER STATUS;

docker 搭建mysql集群一主一从,两台机器,docker,mysql,android
五、在从机执行如下:
1、运行容器

docker run -d \
-p 3306:3306 \
-v /home/mysql/conf:/etc/mysql/conf.d \
-v /home/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=xxxxxx \
--name mysql-slave \
mysql:8.0.29

2、进入容器

docker exec -it mysql-slave /bin/bash

mysql -uroot -ptcdri123

3、在从机上配置主从关系

CHANGE MASTER TO MASTER_HOST='IP1', 
MASTER_USER='mytest',MASTER_PASSWORD='zzzzzz', MASTER_PORT=3306,
MASTER_LOG_FILE='binlog.000002',MASTER_LOG_POS=1054;

注:此处的用户为在主机中创建的slave用户名和密码
4、启动主从同步并查看状态

START SLAVE;

SHOW SLAVE STATUS\G

docker 搭建mysql集群一主一从,两台机器,docker,mysql,android
五、至此基本上就配置完成了,使用如下验证

CREATE DATABASE db_user;
USE db_user;
CREATE TABLE t_user (
 id BIGINT AUTO_INCREMENT,
 uname VARCHAR(30),
 PRIMARY KEY (id)
);

在主库创建完成以后,会发现从库中也生成了对应的表,主库插入用户在从库也会生成对应的用户。

六、停止和重置
需要的时候,可以使用如下SQL语句文章来源地址https://www.toymoban.com/news/detail-821663.html

-- 在从机上执行。功能说明:停止I/O 线程和SQL线程的操作。
stop slave; 
 
-- 在从机上执行。功能说明:用于删除SLAVE数据库的relaylog日志文件,并重新启用新的relaylog文件。
reset slave;
 
-- 在主机上执行。功能说明:删除所有的binglog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。
-- 用于第一次进行搭建主从库时,进行主库binlog初始化工作;
reset master;

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

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

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

相关文章

  • MySQL一主一从、配置一主多从结构、数据读写分离

    部署mysql主从同步 配置mysql主从 分为主数据库角色(master)、从数据库服务器角色(slave) 网站服务器连接后存储数据的服务器作为主服务器 自动同步主服务器上的数据 192.168.88.53 做master 启用binlog日志文件 指定server_id 重启服务 用户授权 查看正在使用的binlog日志文件 192.

    2024年01月19日
    浏览(38)
  • 【数据库集群】之一主一从

    集群架构设计的三个维度:可用性、扩展性、一致性 所谓mysql集群就是把多台数据库集成在一起提供数据库服务。 集群的目的: 负载均衡:解决高并发 高可用HA:服务可用性 远程备灾:数据有效性 对于数据库之上的业务层来说,基于 MySQL 的主从复制集群,单点写入 Master

    2024年02月01日
    浏览(47)
  • MySQL8主从复制之一主一从实战

    实战环境,Windows Server 2008R2+MySQL8.0.27 操作系统 MySQL版本 主/从库 IP 同步用户 同步用户密码 Windows Server 2008R2+ mysql-8.0.27-winx64.zip master 192.168.3.246 synchadmin synchadmin Windows Server 2008R2+ mysql-8.0.27-winx64.zip slave 192.168.3.247 – – 截至到2021-11-29最新版本为 Mysql-8.0.27 官网下载:https://dev.

    2024年01月19日
    浏览(48)
  • 【实现openGauss5.0企业版一主一备搭建部署】

    👈【上一篇】 💖The Begin💖 点点关注,收藏不迷路💖 【下一篇】👉 openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。   🔊 本次安装环境 [root@pg-node0

    2024年02月12日
    浏览(32)
  • 使用Docker搭建一个“一主两从”的 Redis 集群(超详细步骤)

    1、Redis 单机版安装 1.1 拉取 Redis 首先从 docker hub 拉取 Redis 镜像,这里拉取 7.0 版。 1.2 创建数据卷目录 首先要在宿主机/root 目录中创建一个目录 redis,将来用于存放外挂文件 redis.conf。 使用rz命令上传一份redis.conf: 1.3 修改 redis.conf 修改配置文件: 1.解除 IP 绑定 将 bind 行注释

    2024年02月21日
    浏览(46)
  • 两台实体机器4个虚拟机节点的Hadoop集群搭建(Ubuntu版)

    两台机器,每台机器两台Ubuntu Ubuntu版本:ubuntu-22.04.3-desktop-amd64.iso 处理器数量2,每个处理器的核心数量2,总处理器核心数量4 单个虚拟机内存8192MB(8G),最大磁盘大小30G 清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04/ 虚拟机(VMware)安装Linux(Ubun

    2024年02月08日
    浏览(53)
  • 两台宿主机搭建keepalived+Haproxy+mysql实现高可用负载均衡集群(电脑有限弄了两台,更多台同理)

    注意事项 : 1.切记 percona/percona-xtradb-cluster 的版本要统一 ,否则可能出现各种各样的问题 2. 宿主机要关闭SELINUX 。修改文件 vi /etc/selinux/config ,设置SELINUX为disabled,然后reboot机子  两台主机为: 宿主机1:192.168.10.4 宿主机2:192.168.10.6 主节点(在宿主机1上执行) 子节点1(在宿主

    2023年04月26日
    浏览(54)
  • Ansible Playbook快速部署一主多从MySQL集群

    部署目标: 1、快速部署一套一主两从的mysql集群 2、部署过程中支持交互式定义安装目录及监听端口号 部署清单目录结构: 主机清单: 定义了需要部署mysql的主机组、IP及设定mysql主机角色 声明变量: 声明变量的好处在于用户可以按需改这一个文件,而不需要挨个儿修改部

    2024年02月13日
    浏览(36)
  • CentOS 7.9 环境下搭建k8s集群(一主两从)

    目录 一、硬件准备(虚拟主机) 二、环境准备 1、所有机器关闭防火墙 2、所有机器关闭selinux 3、所有机器关闭swap 4、所有机器上添加主机名与ip的对应关系 5、在所有主机上将桥接的ipv4流量传递到iptables的链 三、为所有节点安装docker 四、集群部署 1、为所有节点修改仓库,

    2024年03月14日
    浏览(50)
  • Docker 部署 MySQL 一主多从

    主从复制的原理: 1、主库: 创建一个有权访问binlog日志的从库账号,配置需要主从复制的库                  有写操作时,可以将写操作或者写操作之后的数据记录到日志文件中(binlog)                  通过一个线程通知需要同步数据的从库来加载binlog中最新的日志

    2023年04月25日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包