【docker安装Mysql并配置主从复制】

Mysql主从复制

目的:

是为了后面naocs集群的服务配置做准备工作

准备工作

准备至少两台虚拟机或服务器,安装好了docker,找到他们的ip地址
在这里插入图片描述
在这里插入图片描述

后面操作都用xshell操作来代替

在这里插入图片描述

拉取并启动mysql镜像和容器
主机的命令为mysql01,对外端口用3310来连接
docker run -d -p 3310:3306 -v /home/mysql/node-1/config:/etc/mysql/ -v/home/mysql/node-1/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456  --name mysql01 mysql:5.7
从机的命名为mysql02,对外端口用3311来连接
docker run -d -p 3311:3306 -v /home/mysql/node-2/config:/etc/mysql/ -v/home/mysql/node-2/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 mysql:5.7
命令解释:

-d: 后台运行容器,并返回容器ID
-p 3311:3306 :将容器的3306端口映射到宿主机3310端口
-e MYSQL_ROOT_PASSWORD=123456 :配置数据库连接密码
-v /home/mysql/node-2/config:/etc/mysql/ :将配置文件夹挂载到宿主机
–name mysql01(02):将容器命名为 mysql01(02)

docker ps -a #查看全部容器(运行中加未运行的)分别查看mysql容器的状态

在这里插入图片描述

在这里插入图片描述

  都处于正常运行状态
下面用navicat连接两个数据库

都正常连接
在这里插入图片描述
在这里插入图片描述

开始主从复制的配置

之前我们启动的时候写了这句-v /home/mysql/node-1/config:/etc/mysql/,将mysql 的配置文件夹和主机的文件夹挂载起来的。
那么我们就可以直接在主机下的/home/mysql/node-1/config/编写配置文件了,
那么从机下的就是/home/mysql/node-2/config/编写配置文件了。

进入主机操作:
cd /home/mysql/node-1/config/
vim my.cnf
复制下面内容进去
[mysqld]
#修改配置文件:vim /etc/my.cnf
#主服务器唯一ID
server_id=1
#启用二进制日志
log-bin=mysql-bin

设置不要复制的数据库(可设置多个)

binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库 需要复制的主数据库名字,多个数据库的话,需要多行书写即可,不可逗号连接
binlog-do-db=testdb
#设置logbin格式
binlog_format=STATEMENT
然后esc-> :wq 保存

进入从机操作

cd /home/mysql/node-2/config/
vim my.cnf
复制下面的内容
[mysqld]
#从服务器唯一ID
server_id=2
#启用中继日志
relay-log=mysql-relay
然后esc-> :wq 保存

分别在主从机上,用命令docker restart mysql01 和 docker restart mysql02 重启mysql的容器

搭建主从复制

在这里插入图片描述

进入主机的mysql
docker exec -it mysql01 /bin/bash #进入容器
mysql -uroot -p123456 #连接mysql

主机上建立帐户并授权 slave
给从机授权,为了让从机能够和主机连接起来。
GRANT REPLICATION SLAVE ON . TO ‘slave’@‘%’ IDENTIFIED BY ‘123456’;
复制
在这里插入图片描述

查询master状态
show master status; #查询master的状态
在这里插入图片描述

把这里的File和Position记下来哈,等下在从机上要用到。
File: mysql-bin.000003
Position: 438
复制
Binlog_Do_DB:需要复制的数据库。
Binlog_Ignore_DB:不需要复制的数据库。
注意:此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化
由此进入从机操作:
进入mysql02容器
docker exec -it mysql02 /bin/bash
mysql -uroot -p123456
输入命令
CHANGE MASTER TO MASTER_HOST=‘主机的ip地址’,MASTER_USER=‘slave’,MASTER_PASSWORD=‘123456’,MASTER_PORT=3310, MASTER_LOG_FILE=‘mysql-bin.000003’,MASTER_LOG_POS=438;
解释:
CHANGE MASTER TO MASTER_HOST=‘主机的IP地址’,
MASTER_USER=‘slave’(刚刚配置的用户名),
MASTER_PASSWORD=‘123456’(刚刚授权的密码),
master_port=主机开放的端口 我这里是3310端口,
MASTER_LOG_FILE=‘mysql-bin.具体数字’,MASTER_LOG_POS=具体值(之前的Position);
在这里插入图片描述

注意事项:如果在这里出现错误,先重置。执行完下面两条命令。
stop slave;
reset master;
复制
启动从服务器复制功能
start slave;

查看从服务器状态
show slave status\G
在这里插入图片描述
在这里插入图片描述

#下面两个参数都是Yes,则说明主从配置成功!
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

测试,主机的testdb库都会及时同步过去

在这里插入图片描述

现在主库的表里没数据,添加一条
在这里插入图片描述

查看从库的数据,也存在了

到此一主一从的mysql主从复制就完成了。
在这里插入图片描述

mysql主从复制的优点:

1、数据更安全:做了数据冗余,不会因为单台服务器的宕机而丢失数据
2、性能大大提升:一主多从,不同用户从不同数据库读取,性能提升
3、扩展性更优:流量增大时,可以方便的增加从服务器,不影响系统使用
4、负载均衡:一主多从相当于分担了主机任务,做了负载均衡。

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

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

相关文章

机器学习笔记:seq2seq attentioned seq2seq

1 Seq2Seq 1.1 介绍 对于序列对<X,Y>&#xff0c;我们的目标是给定输入序列X&#xff0c;期待通过Encoder-Decoder框架来生成目标序列Y Encoder对输入的序列X进行编码&#xff0c;将输入序列通过非线性变换转化为中间语义表示C&#xff1a; Decoder根据序列X的中间语义…

百度知道本地搭建环境无限制采集聚合【最新版】

本工具是本地php环境搭建&#xff0c;根据关键词进行采集聚合某度知道&#xff0c;不限制ip&#xff0c;最新版新添加了违规词过滤&#xff0c;样式处理&#xff0c;自动匹配优质标题等功能&#xff0c;只需要导入关键词可以无限采集&#xff0c;是养站的好帮手&#xff01; 功…

Golang代码漏洞扫描工具介绍——trivy

Golang代码漏洞扫描工具介绍——trivy Golang作为一款近年来最火热的服务端语言之一&#xff0c;深受广大程序员的喜爱&#xff0c;笔者最近也在用&#xff0c;特别是高并发的场景下&#xff0c;golang易用性的优势十分明显&#xff0c;但笔者这次想要介绍的并不是golang本身&a…

2023 Sui Builder House全球之旅圆满收官

2023年的最后一场Builder House于上周在新加坡举行&#xff0c;包括主题演讲、小组讨论和研讨会等聚焦Sui的现在和未来的活动。其中&#xff0c;zkLogin是本次活动的最大亮点。作为一种新的Sui原语&#xff0c;zkLogin允许用户使用Web2身份验证创建帐户&#xff0c;有望推动大规…

产品解读 | 分布式多模数据库:KaiwuDB

1.KaiwuDB 是什么&#xff1f; KaiwuDB 是由浪潮创新研发的一款分布式、多模融合&#xff0c;支持原生 AI 的数据库产品&#xff0c;拥有“就地计算”等核心技术&#xff0c;具备高速写入、极速查询、SQL 支持、随需压缩、智能预计算、订阅发布、集群部署等特性&#xff0c;具…

Arduino驱动 LCD1602/2004液晶屏转接板模块

目录 一、简介二、内部逻辑图三、引脚说明四、原理图五、器件地址六、使用方法 一、简介 点击图片购买 LCD1602/2004液晶屏转接板模块采用MCP2308芯片&#xff0c;通过IIC接口扩展8路通用双向IO口。可以为较少IO口的单片机扩展IO口&#xff0c;还可以作为LCD1602、LCD2004液晶屏…

北京智和信通亮相2023IT运维大会,共话数智浪潮下自动化运维新生态

2023年9月21日&#xff0c;由IT运维网、《网络安全和信息化》杂志社联合主办的“2023&#xff08;第十四届&#xff09;IT运维大会”在北京成功举办。大会以“以数为基 智引未来”为主题&#xff0c;北京智和信通技术有限公司&#xff08;下文简称&#xff1a;北京智和信通&…

成集云 | 金蝶云星空集成聚水潭ERP(金蝶云星空主管供应链)| 解决方案

源系统成集云目标系统 方案介绍 金蝶云星空是金蝶软件&#xff08;中国&#xff09;有限公司研发的新一代战略性企业管理软件&#xff0c;致力于为企业提供端到端的供应链整体解决方案&#xff0c;它可以帮助企业构建敏捷供应链体系&#xff0c;降低供应链成本&#xff0c;提…

spring boot 时间格式化输出

目录标题 一、spring boot 序列化二、 JsonFormat(pattern "yyyy-MM-dd HH:mm:ss")和JSONField(format "yyyy-MM-dd HH:mm:ss")区别三、在实体类中序列化时间&#xff08;格式化输出&#xff09;&#xff08;一&#xff09;使用JsonFormat&#xff08;二…

额外的迭代器

除了为每个容器定义的迭代器外&#xff0c;标准库在头文件iterator中还定义了额外几种迭代器&#xff1a; 插入迭代器&#xff1a; 插入器是一种迭代器适配器&#xff0c;它接受一个容器&#xff0c;生成一个迭代器&#xff0c;能实现向给定容器添加元素。 插入器有三种类型&a…

基于TensorFlow+CNN+协同过滤算法的智能电影推荐系统——深度学习算法应用(含微信小程序、ipynb工程源码)+MovieLens数据集(七)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 模型训练1&#xff09;数据集分析2&#xff09;数据预处理3&#xff09;模型创建4&#xff09;模型训练5&#xff09;获取特征矩阵 2. 后端Django3. 前端微信小程序1&#xff09;小程序全局配置文件2&#xff09…

动力节点老杜JavaWeb笔记(全)

Servlet 关于系统架构 系统架构包括什么形式? C/S架构B/S架构C/S架构? Client / Server(客户端 / 服务器)C/S架构的软件或者说系统有哪些呢? QQ(先去腾讯官网下载一个QQ软件,几十MB,然后把这个客户端软件安装上去,然后输入QQ号以及密码,登录之后,就可以和你的朋友聊…

Vim编辑器使用入门

目录 一、Vim 编辑器基础操作 二、Vim 编辑器进阶操作 三、Vim 编辑器高级操作 四、Vim 编辑器文件操作 五、Vim 编辑器文件管理 六、Vim 编辑器进阶技巧 七、Vim 编辑器增强功能 Vim的三种工作模式 一、Vim 编辑器基础操作 1.移动光标 - 光标的移动控制 移动光标有两…

【云服务器开放端口详细教程~来了】

你不知道我真的会哭 云服务器开放端口详细教程来了 前言 一、常见云服务器端口的认识 ● 云服务器端口一般是指 TCP/IP 协议中的端口&#xff0c;端口号的范围从 0 到 65535&#xff0c;比如用于浏览网页服务的 80 端口&#xff0c;用于 FTP 服务的 21 端口等等。 ● 当一…

VScode断点调试vue

VScode断点调试vue 1、修改launch.js文件&#xff08;没有这个文件就新建&#xff09;。 {// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlin…

AI Studio星河社区生产力实践:基于文心一言快速搭建知识库问答

还在寻找基于文心一言搭建本地知识库问答的方案吗&#xff1f;AI Studio星河社区带你实战演练&#xff08;支持私有化部署&#xff09;&#xff01; 相信对于大语言模型&#xff08;LLM&#xff09;有所涉猎的朋友&#xff0c;对于“老网红”知识库问答不会陌生。自从大模型爆…

猫头虎博主的AI魔法课:一起探索CSDN AI工具集的奥秘!

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

2023-9-22 没有上司的舞会

题目链接&#xff1a;没有上司的舞会 #include <cstring> #include <iostream> #include <algorithm>using namespace std;const int N 6010;int n; int happy[N]; int h[N], e[N], ne[N], idx; bool has_father[N];// 两个状态&#xff0c;选该节点或不选该…

柔性数组

目录 概念&#xff1a; 柔性数组的要求&#xff1a; 柔性数组特点&#xff1a; 特点2举例&#xff1a; 特点3举例&#xff1a; 柔性数组再次调整变大&#xff1a; 奇怪的写法——不使用柔性数组&#xff1a; 从上述代码得知柔性数组的好处&#xff1a; 概念&#xff1a;…

基于PHP的短视频SEO矩阵系统源码开发

随着短视频市场的爆发式增长&#xff0c;越来越多的企业开始寻求在短视频领域建立自己的品牌形象&#xff0c;增加用户粘性和获取更多流量。为此&#xff0c;一套高效的短视频SEO矩阵系统源码显得尤为重要。本文将介绍基于PHP语言的短视频SEO矩阵系统源码开发&#xff0c;帮助读…