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

news2024/11/22 17:57:44

一、准备两条机器,分别为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;

在这里插入图片描述
五、在从机执行如下:
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

在这里插入图片描述
五、至此基本上就配置完成了,使用如下验证

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

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

六、停止和重置
需要的时候,可以使用如下SQL语句

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1405227.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

日期处理第四篇(终)- Java日期时间处理大总结

文章目录 日期时间概念通用标准日期字段解析国际化的日期格式 日期的实战第一个问题:日期常用时间操作第二个问题:时区的问题时区概念时区的处理ZoneID的使用 ZoneOffset的使用让人恼火的夏令时 第三个问题:MySQL存储时间用什么类型&#xff…

12. openCV在QT环境中利用zBar开发库实现二维码内容识别

1. 说明 本篇博客仅记录如何使用zBar库进行二维码内容的识别,其中牵扯到的一些其它知识点,比如二维码区域检测、zBar库开发环境配置等可以参考本专栏的其它相关博客,此篇博客不再赘述。 2. 具体步骤 博客中代码功能:手动选择一张包含二维码的图片,会将检测到的二维码区…

Linux 的提示符太长了,帮你精简一下

普通用户修改文件 ~/.bashrc 修改 50 行左右的代码,将两个w改为大写的W 如果是root用户则修改文件/root/.bashrc,同样的方法。

Lingo数学建模基础

1.基本运算符 1.1算数运算符 1.2逻辑运算 #not# 否定操作数的逻辑值,一元运算符 #eq# 若两运算数相等,则为true,否则为false #ne# 若两运算数不相等,则为true,否则为false #gt# 若左边运算数严格大于右边,则为true,否则为…

智能小程序环境配置流程

App 与智能小程序 在用户使用 App 扫描小程序的二维码或者点击设备,尝试进入小程序时,系统会对 App 当前环境与小程序所需运行环境进行比对,确定环境配置兼容后,App 才能启动并运行小程序。 比对规则中,主要涉及&…

NVMe TCG安全数据存储简介

NVMe(非易失性内存主机控制器接口规范)与TCG(可信计算组)的集成主要体现在数据安全、固件验证和硬件信任根等方面,以确保存储设备的数据保护能力和安全性。 TCG Opal定义了一套针对自加密硬盘(SED, Self-En…

Linux部署MinIO实现图片存储,读取,删除

1、MinIo简介 MinIO 是一个高性能的分布式对象存储服务,它与亚马逊的S3(简单存储服务)兼容,在开源许可下是免费和开放的。您可以用它存储任何种类的对象,也就是说可以存储无结构的数据如照片、视频、日志文件、备份和…

解决github无法访问的问题(修改hosts)

1.先ping github.com看是否能ping通 不能ping通的话,找到github最新的ip地址,修改hosts文件(C:\Windows\System32\drivers\etc) 找最新的ip地址的办法: a.cmd中ping时返回的 b.点击ipaddress.com查询网站链接 修改host…

c盘红色满了怎么清理c盘空间?整理了5个方法~

用户文档、下载文件、图片和视频等个人文件的不断增长导致了磁盘空间紧张。那么如何管理文件,清理我们的电脑呢?下面整理了5个不同类型的方法。 方法一:清理临时文件 1、打开“运行”(Win R),输入 %temp…

最新阿里云免费SSL证书申请使用介绍

为网站部署SSL证书已经是现在站长的必须要做的工作,然而SSL证书并不全是免费的,免费且好用的资源也越来越有限,毕竟嘛,这些都需要成本。 PS:最下方有最终建议方案。 本文介绍当前(2024年)阿里云免费SSL证书信息。 阿…

企业为什么需要WMS仓储管理系统,终于有人说明白了

随着科技的飞速发展和市场竞争的加剧,仓储企业面临着越来越多的挑战和机遇。为了提高产品的性能和质量,同时节约成本、提高运营效率,数字化建设成为了仓储企业的核心需求。而WMS仓储管理系统的应用,更是企业数字化建设的重中之重。…

jdk的安装和Tomcat的安装

jdk的安装 双击jdk,然后一路下一步 公共JRE可以关闭,没多大用,反而会占用内存 计算机–>属性–>高级系统设置–>环境变量 系统变量–新建 JAVA_HOMEjdk的存放路径 修改path 在path的最后面添加(;%JAVA_H…

springboot 整合 ElasticSearch 方法 (一)

下载 ES 相当于安装 MySQL, 可以在官网上下载 (链接在后面). 要注意安装的 ES 的版本要和项目中用的 Springboot 的版本对应. 比如我用的 Springboot 版本是 2.6, 所以ES要下载7.15 版本的. 官网链接: https://www.elastic.co/cn/downloads/elasticsearch 点右边这个查看更多…

视频监控平台EasyCVR增加fMP4流媒体视频格式及其应用场景介绍

近期我们在视频监控管理平台EasyCVR系统中新增了HTTP-FMP4播放协议,今天我们就来聊聊该协议的特点和应用。 fMP4(Fragmented MPEG-4)是基于MPEG-4 Part 12的流媒体格式,是流媒体的一项重要技术,因为它能通过互联网传送…

Nuxt2.x Error页面返回自定义请求状态码

一、问题描述 最近接到一个需求,针对Nuxt2.x的一个项目进行SEO优化,需要对404页面的状态进行修改,将404页面的请求状态码改为301,而不是404: 二、解决方案 1.几种无效尝试 (1)layouts下的err…

InternLM第6次课笔记

OpenCompass 大模型评测 测评什么 如何评测 基座模型:加入instrcut 对话模型:直接对话 评测方式 客观 主观 提示词工程 不同prompt鲁棒性 OpenCompass能力框架

Portainer Docker容器可视化管理平台实践

Portainer Docker容器可视化管理平台实践 引安装登录Remote ENV 实践 引 平常用docker命令操作比较多,找了一款docker可视化工具,方便快速预览和批量操作,不想一行一行敲的时候,可以偷偷懒。Portainer试用了一下,安装…

实施企业增长战略:明确需求和战略咨询公司选择尤为重要

在当今快速变化的商业环境中,企业的增长并非偶然产生的成果,而是通过精心设计和策略性规划实现的。企业要实现增长,明确企业自身需求和选择专业的战略咨询公司是非常重要的。接下来,本文就这两大关键问题进行分析。首先&#xff0…

Linux问题 apt-get install时 无法解析域名“cn.archive.ubuntu.com”

问题描述: 在安装程序时会出现无法解析域名的错误 解决办法: 1、编辑文件 sudo vim /etc/resolv.conf 2、在最后加上(按键 i 进入编辑模式) nameserver 8.8.8.8 3、保存退出(:wq)

基于神经网络的电力系统的负荷预测

一、背景介绍: 电力系统负荷预测是生产部门的重要工作之一,通过准确的负荷预测,可以经济合理地安排机组的启停、减少旋转备用容量、合理安排检修计划、降低发电成本和提高经济效益。负荷预测按预测的时间可以分为长期、中期和短期负荷预测。…