mysql_docker主从复制_实战_binlog混合模式_天座著

步骤1:拉取镜像

docker pull mariadb:latest

步骤2.1:创建两个文件夹用于放置挂载mysql的my.cnf

/tianzuomysqlconf/master

/tianzuomysqlconf/slave

mkdir /tianzuomysqlconf

cd  /tianzuomysqlconf

mkdir master

mkdir slave

步骤2.2:创建一份my.cnf到步骤2中的文件夹。

#创建一个自定义的 my.cnf 文件:在本地主机上创建一个新的 my.cnf 文件,你可以使用任何文本编辑器进行编辑。确保按照 MariaDB 文档提供的配置选项进行修改

# 新的my.cnf文件内容可以为空。在MySQL中,my.cnf是配置文件,用于配置数据库服务器的各种参数和设置。如果你没有特定的需求或者不需要修改任何配置参数,那么新的my.cnf文件可以保持为空。在这种情况下,MySQL将使用默认的配置参数来启动和运行。但请注意,如果你需要自定义配置,确保将所需的配置项添加到my.cnf文件中,以便按照你的要求进行设置。

cd  /tianzuomysqlconf/master

touch my.cnf

cp my.cnf /tianzuomysqlconf/slave

步骤3:创建两个mysql容器,并使用/etc/mysql/conf.d/ 目录挂载my.cnf文件。

#分号可一起执行。

docker run -p 3309:3306 --name tianzuo_mysql_test_master -d -e MARIADB_ROOT_PASSWORD=STZ1024 -v /tianzuomysqlconf/master/my.cnf:/etc/mysql/conf.d/my.cnf mariadb;docker run -p 3310:3306 --name tianzuo_mysql_test_slave -d -e MARIADB_ROOT_PASSWORD=STZ1024 -v /tianzuomysqlconf/slave/my.cnf:/etc/mysql/conf.d/my.cnf mariadb

步骤3-error:如果过程中有操作失误,想要删除容器。

docker rm -f tianzuo_mysql_test_master;docker rm -f tianzuo_mysql_test_slave

步骤4:开始配置MySQL主从复制(binlog混合模式)

步骤4-1:配置主数据库(Master):

打开主数据库的配置文件my.cnf(/tianzuomysqlconf/master/my.cnf)。

vi /tianzuomysqlconf/master/my.cnf

按下键盘字母:i键

添加以下配置项:

[mysqld]

server-id = 1

log_bin = mysql-bin

binlog_format = MIXED

esc :wq

保存并关闭配置文件。

重启主数据库。

docker restart  tianzuo_mysql_test_master

步骤4-2:配置从数据库(Slave):

打开从数据库的配置文件my.cnf(/tianzuomysqlconf/slave/my.cnf)。

vi /tianzuomysqlconf/slave/my.cnf

按下键盘字母:i键

添加以下配置项:

[mysqld] 

server-id = 2

relay_log = relay-log

log_slave_updates = 1

保存并关闭配置文件。

重启从数据库。

docker restart  tianzuo_mysql_test_slave

步骤4-3:在主数据库中创建用于复制的账户

登录主数据库的命令行或图形化界面。

docker exec -it tianzuo_mysql_test_master bash

mysql -h localhost -P 3306 -u root -p"STZ1024"

执行以下SQL语句:

CREATE USER 'replication'@'%' IDENTIFIED BY 'STZ1024';GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';

FLUSH PRIVILEGES;

步骤4-4:获取主数据库的二进制日志位置

在主数据库的命令行或图形化界面执行以下SQL语句:

SHOW MASTER STATUS;

记下输出结果中的File和Position字段的值,将其用于后续步骤。

步骤4-5:配置从数据库的复制信息

登录从数据库的命令行或图形化界面。

docker exec -it tianzuo_mysql_test_slave bash

mysql -h localhost -P 3306 -u root -p"STZ1024"

执行以下SQL语句,将主数据库的信息配置到从数据库:

CHANGE MASTER TO

MASTER_HOST = '172.17.0.1',  

MASTER_PORT = 3309,

MASTER_USER = 'replication',

MASTER_PASSWORD = 'STZ1024',

MASTER_LOG_FILE = 'mysql-bin.000001',

MASTER_LOG_POS = 771;

备注:172.17.0.1是宿主机的ip,各位看官自行替换。

步骤4-6:启动从数据库的复制进程:

在从库中执行以下SQL语句:

START SLAVE;

步骤4-7:检查主从复制状态

在从数据库的命令行或图形化界面执行以下SQL语句:

SHOW SLAVE STATUS\G;

检查输出结果中的Slave_IO_Running和Slave_SQL_Running字段是否都为"YES",表示主从复制已经成功建立。

Slave_IO_Running反映了复制进程中I/O线程的状态。当其值为"YES"时,表示I/O线程正在正常运行,能够从主数据库接收复制日志文件(binlog)。

Slave_SQL_Running反映了复制进程中SQL线程的状态。当其值为"YES"时,表示SQL线程正在正常运行,能够将接收到的复制日志应用到备份数据库。

步骤4-error:如果需要重新配置从数据的复制信息,先停止从数据库的复制进程:

在从库中执行以下SQL语句:

STOP SLAVE;

再进行授权

CHANGE MASTER TO

MASTER_HOST = '172.17.0.1',  

MASTER_PORT = 3309,

MASTER_USER = 'replication',

MASTER_PASSWORD = 'STZ1024',

MASTER_LOG_FILE = 'mysql-bin.000001',

MASTER_LOG_POS = 771;

再回到步骤4-6

START SLAVE;

步骤5-验证:

步骤5-1 利用navicat建立两个连接;

步骤5-2 尝试在主库中创建一个库,看看从库会不会自动生成。

重新建立3310连接后,从库同步成功。速度贼快。至此验证成功。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【简单认识zookeeper+kafka分布式消息队列集群的部署】

文章目录 一、zookeeper1、定义2、工作机制3、Zookeeper 特点4、Zookeeper 数据结构5、Zookeeper 应用场景6、Zookeeper 选举机制(1)第一次启动选举机制(2)非第一次启动选举机制 7、部署zookeeper群集 二、消息队列概述1、为什么需…

Hands on RL 之 Proximal Policy Optimization (PPO)

Hands on RL 之 Proximal Policy Optimization (PPO) 文章目录 Hands on RL 之 Proximal Policy Optimization (PPO)1. 回顾Policy Gradient和TRPO2. PPO (Clip)3. PPO(Penalty)4. PPO中Advantage Function的计算5.实现 PPO-ClipReference 1. 回顾Policy Gradient和TRPO ​ 首…

ubuntu python虚拟环境venv搭配systemd服务实战(禁用缓存下载--no-cache-dir)

文章目录 参考文章目录结构步骤安装venv查看python版本创建虚拟环境激活虚拟环境运行我们程序看缺少哪些依赖库,依次安装它们(禁用缓存下载--no-cache-dir)接下来我们配置python程序启动脚本,脚本中启动python程序前需先激活虚拟环…

【C++】开源:gflags命令行参数解析库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍gflags命令行参数解析库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&…

【数字图像处理】数字图像处理中的直方图相关操作

文章目录 前言一、直方图为什么可以进行图像处理?二、直方图处理怎么实现?直方图均衡化直方图匹配-规定化局部直方图处理直方图统计量增强图像 三、OpenCv提供的直方图基础操作直方图均衡化OpenCv中直方图的表示从数据创建直方图:cv::calcHis…

【云原生】Docker 详解(一):从虚拟机到容器

Docker 详解(一):从虚拟机到容器 1.虚拟化 要解释清楚 Docker,首先要解释清楚 容器(Container)的概念。要解释容器的话,就需要从操作系统说起。操作系统太底层,细说的话一两本书都说…

Linux学习之awk函数

awk里边的函数分为内置函数和自定义函数。 内置函数有下边的几种: 算术函数(arithmetic) 字符串函数(string) 输入/输出函数和通用函数(input/output, and general) 自定义函数格式如下&#xf…

Oracle 使用 CONNECT_BY_ROOT 解锁层次结构洞察:在 SQL 中导航数据关系

CONNECT_BY_ROOT 是一个在 Oracle 数据库中使用的特殊函数,它通常用于在层次查询中获取根节点的值。在使用 CONNECT BY 子句进行层次查询时,通过 CONNECT_BY_ROOT 函数,你可以在每一行中获取根节点的值,而不仅仅是当前行的值。 假…

算法竞赛备赛之搜索与图论训练提升,暑期集训营培训

目录 1.DFS和BFS 1.1.DFS深度优先搜索 1.2.BFS广度优先搜索 2.树与图的遍历:拓扑排序 3.最短路 3.1.迪杰斯特拉算法 3.2.贝尔曼算法 3.3.SPFA算法 3.4.多源汇最短路Floy算法 4.最小生成树 4.1.普利姆算法 4.2.克鲁斯卡尔算法 5.二分图:染色法…

浅析kubernetes部署:javashop部署概览

javashop部署概览 节点规划 首先我们对节点进行规划,方便起见,我们进行如下简单的规划: 这里请根据您的实际情况进行合理的资源安排,或和我们售后工程师讨论形成方案。 域名规划 我们以test.com为主域名规划我们的系统域名如下&…

Jpa与Druid线程池及Spring Boot整合(一): spring-boot-starter-data-jpa 搭建持久层

Jpa与Druid线程池及Spring Boot整合(一) Jpa与Druid线程池及Spring Boot整合(二):几个坑 附录官网文档:core.domain-events域事件 (一)Jpa与Druid连接池及Spring Boot整合作为持久层,遇到系列问题,下面一 一记录: pom.xml 文件中加入必须的…

Linux之【进程间通信(IPC)】-总结篇

Linux之【进程间通信(IPC)】-总结篇 管道System V共享内存System V消息队列System V信号量IPC资源的管理方式 往期文章 1.进程间通信之管道 2.进程间通信之System V共享内存 管道 进程之间具有独立性,拥有自己的虚拟地址空间,因…

张驰咨询:提高企业竞争力,六西格玛设计公司(DFSS)在行动

六西格玛设计公司(DFSS)是一种专业从事六西格玛设计的企业,其主要作用是为客户提供高效的六西格玛设计服务,以帮助客户实现高品质、低成本和高效率的产品开发过程。六西格玛设计公司通常拥有一支专业的团队,具有丰富的六西格玛设计经验和技术…

Jupyter并发测试以后出现EOFError marshal data too short

Jupyter 并发测试以后出现EOFError: marshal data too short 背景 由于项目需求需要用户能进行网页在线运行python代码程序,调研后决定使用Jupyter的服务接口实现此功能,目前使用docker进行容器化部署,测试针对次服务进行并发测试。测试并发…

FL Studio for Windows-21.1.0.3713中文直装版功能介绍及系统配置要求

FL Studio 21简称FL水果软件,全称是:Fruity Loops Studio编曲,由于其Logo长的比较像一款水果因此,在大家更多的是喜欢称他为水果萝卜,FL studio21是目前最新的版本,这是一款可以让你的计算机就像是一个全功能的录音室&…

RabbitMQ:可靠消息传递的强大消息中间件

消息中间件在现代分布式系统中起着关键作用,它们提供了一种可靠且高效的方法来进行异步通信和解耦。在这篇博客中,我们将重点介绍 RabbitMQ,一个广泛使用的开源消息中间件。我们将深入探讨 RabbitMQ 的特性、工作原理以及如何在应用程序中使用…

Codeforces Round 891 (Div. 3)ABC

Codeforces Round 891 (Div. 3) 目录 A. Array Coloring题目大意思路代码 B. Maximum Rounding题目大意思路代码 C. Assembly via Minimums题目大意思路代码 A. Array Coloring 题目大意 给你一个包含 n n n个数字的数组,你的任务是判断这个数组是否可以划分成两个…

换架 3D 飞机,继续飞呀飞

相信大多数图扑 HT 用户都曾见过这个飞机的 Demo,在图扑发展的这十年,这个 Demo 是许多学习 HT 用户一定会参考的经典 Demo 之一。 这个 Demo 用简洁的代码生动地展示了 OBJ 模型加载、数据绑定、动画和漫游等功能的实现。许多用户参考这个简单的 Demo 后…

MySQL中用什么数据类型存IP地址

提到IP地址(IPv4),我们脑子里肯定立马浮现类似于192.168.0.1、127.0.0.1这种常见的IP地址,然后结合这个问题“MySQL中用什么数据类型存IP地址?”,于是乎脱口而出用char字符串类型存储。 然后再仔细想想发现,这个IP地址…

腾讯云标准型CVM云服务器详细介绍

腾讯云CVM服务器标准型实例的各项性能参数平衡,标准型云服务器适用于大多数常规业务,例如:web网站及中间件等,常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格,腾讯云服务器网来详细说下云服务器CVM标准…