Mysql双主双从
双主双从
- 1.安装Mysql
- 1.1 查看linux版本
- 1.2 下载Mysql安装包
- 1.3 上传并解压
- 1.4 安装Mysql
- 1.5 编辑端口号
- 1.6 Mysql启动命令
- 1.7 更新密码
- 2.搭建Mysql主从复制
- 2.1 搭建Master主服务器
- 2.1.1 修改mysql配置文件
- 2.1.2 重启Mysql服务
- 2.1.3 创建Slave用户, 并授权
- 2.1.4 查看主服务器当前状态
- 2.2 搭建Slave从服务器
- 2.2.1 修改mysql配置文件
- 2.2.2 重启Mysql服务
- 2.2.3 配置主从同步
- 2.2.4 启动Slave线程
- 3.搭建Mysql主从复制
- 3.1 双Master机配置文件修改
- 3.1.1 Master1配置
- 3.1.2 Master2配置
- 3.1.2 重启Mysql,使配置生效
1.安装Mysql
1.1 查看linux版本
cat /etc/os-release
Kylin Linux(国产麒麟)是中国自主开发的操作系统
1.2 下载Mysql安装包
Mysql Download
因为Kylin Linux V10是基于CentOS 8开发的, 所以选择Red Hat Enterprise Linux 8 / Oracle Linux 8 (x86, 64-bit), RPM Bundle
1.3 上传并解压
上传到指定目录, 例如: /opt/mysql
, 解压文件
tar xvf mysql-8.0.35-1.el8.x86_64.rpm-bundle.tar
1.4 安装Mysql
rpm -ivh mysql-community-common-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.35-1.el8.x86_64.rpm
1.5 编辑端口号
vi /etc/my.cnf
修改端口号
# 端口号
port=33061
1.6 Mysql启动命令
systemctl start mysqld #启动 MySQL
其他命令
systemctl start mysqld #启动 MySQL
systemctl stop mysqld #关闭 MySQL
systemctl restart mysqld #重启 MySQL
systemctl status mysqld #查看 MySQL 状态
systemctl enable mysqld #设置开机自启
1.7 更新密码
1.查看初始密码
cat /var/log/mysqld.log | grep root@localhost
2.登录mysql
mysql -u root -p
3.更新密码
alter user root@localhost identified by 'MyS3cure!P@ssw0rd';
4.查看用户
SELECT User, Host FROM mysql.user;
2.搭建Mysql主从复制
- 主:192.166.16.74
- 从:192.166.16.29
2.1 搭建Master主服务器
2.1.1 修改mysql配置文件
vim /etc/my.cnf
server-id=1
log-bin=master-bin
binlog_format = MIXED
log-slave-updates=true
- server-id: 每台MySQL服务器必须有一个唯一的ID。可以设置为任意数字,但需确保唯一。
- log-bin: 启用二进制日志并指定日志文件的前缀。
- binlog_format=MIXED表示MySQL将根据具体情况动态选择使用基于语句的复制还是基于行的复制。这种模式在大多数应用场景中提供了性能和准确性之间的良好平衡。
2.1.2 重启Mysql服务
systemctl restart mysqld
2.1.3 创建Slave用户, 并授权
# 创建slave用户
CREATE USER 'replica'@'%' IDENTIFIED BY 'MyS3cure!P@ssw0rd';
# 授权
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
# 刷新权限
FLUSH PRIVILEGES;
2.1.4 查看主服务器当前状态
show master status
2.2 搭建Slave从服务器
2.2.1 修改mysql配置文件
vim /etc/my.cnf
# 修改,注意id与Master的不同,两个Slave的id也要不同
server-id = 2
# 添加,开启中继日志,从主服务器上同步日志文件记录到本地
relay-log=relay-log-bin
# 添加,定义中继日志文件的位置和名称
relay-log-index=slave-relay-bin.index
relay_log_recovery = 1
2.2.2 重启Mysql服务
systemctl restart mysqld
2.2.3 配置主从同步
CHANGE MASTER TO MASTER_HOST='192.210.16.238',
MASTER_USER='replica',
MASTER_PASSWORD='MyS3cure!P@ssw0rd',
MASTER_LOG_FILE=从主库中查询,
MASTER_LOG_POS=从主库中查询,
MASTER_PORT=33061;
2.2.4 启动Slave线程
start slave; #启动同步,如有报错执行 reset slave;
show slave status\G #查看 Slave 状态#确保 IO 和 SQL 线程都是 Yes,代表同步正常
Slave_IO_Running: Yes #负责与主机的io通信
Slave_SQL_Running: Yes #负责自己的slave mysql进程
3.搭建Mysql主从复制
一个主机Master1用于处理所有的写请求,它的从机Slave1和另一台主机Master2还有它的从机Slave2负责所有的读请求。当Master1主机宕机后,Master2主机负责写请求,Master1、Master2互为备份机。
编号 | 角色 | IP |
---|---|---|
1 | Master1 | 192.166.16.74 |
2 | Slave1 | 192.166.16.29 |
3 | Master2 | 192.166.16.166 |
4 | Slave2 | 192.166.16.111 |
3.1 双Master机配置文件修改
3.1.1 Master1配置
vim /etc/my.cnf
my.cnf增加的内容:
#主服务器唯一ID (与 Master2,...... MasterN 的不同点)
server-id=1
#启用二进制日志, 日志文件的前缀为mysql-bin
log-bin=mysql-bin#从库的中继日志,主库日志写到中继日志,中继日志再重做到从库
# relay-log=myslql-relay-bin# binlog保留时间7天
expire_logs_days=7# binlog 文件的大小
max_binlog_size=1G#设置logbin格式。取值:STATEMENT (默认),ROW,MIXED
binlog_format=ROW# 该从库是否写入二进制日志。如果需要成为多主则可启用。只读可以不需要
log-slave-updates=1# 该服务器自增列的初始值。(与 Master2,...... MasterN 的不同点)
auto-increment-offset=1# 该服务器自增列增量。其默认值是1, 取值范围是1 .. 65535
auto-increment-increment=2# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=sys#设置需要复制的数据库(可选)。
# 如果要配置了此项,则 mysql 只复制下面指定的数据库。
# 如果不配置此项,则 mysql 默认复制所有的数据库(不包含 binlog-ignore-db 的数据库)
#binlog-do-db=需要复制的主数据库1
#binlog-do-db=需要复制的主数据库2
3.1.2 Master2配置
vim /etc/my.cnf
my.cnf增加的内容:
#主服务器唯一ID。(与 Master1,Master3,...... MasterN 的不同点)
server-id=3
#启用二进制日志
log-bin=mysql-bin#从库的中继日志,主库日志写到中继日志,中继日志再重做到从库
# relay-log=myslql-relay-bin# binlog保留时间7天
expire_logs_days=7# binlog 文件的大小
max_binlog_size=1G#设置logbin格式。取值: STATEMENT (默认),ROW,MIXED
binlog_format=ROW# 双主模式中,log-slave-updates必须配置。因为作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates=1# 该服务器自增列的初始值。取值范围是1 .. 65535
auto-increment-offset=2# 该服务器自增列增量。(与 Master1,Master 3, ...... MasterN 的不同点)
auto-increment-increment=2# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=sys#设置需要复制的数据库(可选)
# 如果要配置了此项,则 mysql 只复制下面指定的数据库。
# 如果不配置此项,则 mysql 默认复制所有的数据库(不包含 binlog-ignore-db 的数据库)
#binlog-do-db=需要复制的主数据库1
#binlog-do-db=需要复制的主数据库2
3.1.2 重启Mysql,使配置生效
systemctl restart mysqld.service
相关文章:

Mysql双主双从
双主双从 1.安装Mysql1.1 查看linux版本1.2 下载Mysql安装包1.3 上传并解压1.4 安装Mysql1.5 编辑端口号1.6 Mysql启动命令1.7 更新密码 2.搭建Mysql主从复制2.1 搭建Master主服务器2.1.1 修改mysql配置文件2.1.2 重启Mysql服务2.1.3 创建Slave用户, 并授权2.1.4 查看主服务器当…...

安卓主板_MTK联发科主板定制开发|PCBA定制开发
MTK联发科安卓主板,采用MT6762八核平台方案,支持谷歌Android 11.0系统,MT6762采用ARM八核A53内核芯片、主频高达2.0GHz,GPU采用ARM PowerVR GE8329650MHZ,支持主流19201080分辨率,支持硬解H.264,…...

结合GPT与Python实现端口检测工具(含多线程)
端口检测器是一个非常实用的网络工具,它主要用于检测服务器或本地计算机上的特定端口是否处于开放状态。通过这个工具,你可以快速识别和诊断网络连接问题,确保关键服务的端口能够正常接收和处理数据。这对于网络管理员和开发者来说是一个不可…...

数字媒体产业发展现状剖析,洞悉数字产业园的创新之举
在当今数字化时代,数字媒体产业发展迅猛,呈现出一片繁荣景象。然而,在这繁荣的背后,数字媒体产业发展现状也存在着诸多挑战与机遇。 数字媒体产业发展现状的一个显著特点是技术的快速更新换代。从虚拟现实(VR…...

PDF文件转换为HTML文件
推荐使用 pdf2htmlEX(因为确实做的比较全) pdf2htmlEX 是一个开源工具,可以将PDF文件转换为HTML文件。你需要先安装pdf2htmlEX工具,并确保它在你的系统路径中可用。(花时间最多就是找包) 安装 pdf2htmlEX …...
简易版PHP软文发稿开源系统
软文发稿系统源码(软文发布系统)基于旧版本的媒介软文项目基础上整理出一套简易版,以满足不同客户群体。虽然是简易版 但麻雀虽小五脏俱全,基本能满足小众群体需求 具体功能如下: 大模块功能: 1、媒体发布 …...
React.createContext 的 多种使用方法 详细实现方案代码
React.createContext 是 React 的上下文 API 的核心方法之一,提供了一种无需通过组件树逐层传递 props 的方式来共享数据。它特别适合于全局状态的管理,比如用户信息、主题设置等。下面我将详细介绍 React.createContext 的多种使用方法,并提…...

计算机网络之IPv4深度解析
一.IP地址 IP地址的组成方式:网络号 主机号 可以这样理解,根据网络号找路由器,根据主机号找连着路由器的主机 早期分类的IP地址 表示如下: 其中,有些特殊的IP地址: 主机号全为0,表示本网…...

TinyGPT-V:微型视觉语言模型【VLM】
AI技术正在不断融入我们的日常生活。人工智能的一个应用包括多模态化,例如将语言与视觉模型相结合。这些视觉语言模型可以应用于视频字幕、语义搜索等任务。 本周,我将重点介绍一种名为 TinyGPT-V(Arxiv | GitHub)的最新视觉语言…...
pytorch自动微分
一、torch.autograd.backward(tensors, grad_tensorsNone, retain_graphNone, create_graphFalse)功能:自动求取梯度 grad_tensors:多梯度权重 # 自动求取梯度 # import torch # w torch.tensor([1.],requires_gradTrue) # x torch.tensor([2.],requir…...

TCP协议为什么是三次握手和四次挥手
1.一次握手&&二次握手 一次握手就能成功的话,也就代表着不需要进行确认,那么万一有恶意的服务器一直发送SYN,而服务器需要维护大量的连接,维护连接又需要成本,那么就很容易引发SYN洪水,导致服务器…...
利用ChatGPT提升学术论文撰写效率:从文献搜集到综述撰写的全面指南
大家好,感谢关注。我是七哥,一个在高校里不务正业,折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流,多多交流,相互成就,共同进步,为大家带来最酷最有效的智能AI学术科研写作攻略。 本文旨在介绍如何利用AI辅助工具,…...

智能、高效、安全,企业桌面软件管理系统,赋能企业数字化转型!提升工作效率不是梦!
为了在激烈的市场竞争中脱颖而出,实现可持续发展,数字化转型已成为企业不可或缺的战略选择!而在这一过程中,一款智能、高效、安全的企业桌面软件管理系统,如安企神,正逐步成为企业数字化转型的重要驱动力。…...
第N7周:调用Gensim库训练Word2Vec模型
本文为365天深度学习训练营 中的学习记录博客原作者:K同学啊 任务: ●1. 阅读NLP基础知识里Word2vec详解一文,了解并学习Word2vec相关知识 ●2. 创建一个.txt文件存放自定义词汇,防止其被切分 数据集:选择《人民的名义…...

基于Crontab调度,实现Linux下的定时任务执行。
文章目录 引言I 预备知识Crontab的基本组成Crontab的配置文件格式Crontab的配置文件Crontab不可引用环境变量杀死进程命令II Crontab实践案例Crontab工具的使用重启tomcat服务每分钟都打印当前时间到一个文件中30s执行一次III 常见问题并发冗余执行任务&& 和|| 和 ;的区…...

Centos系统中创建定时器完成定时任务
Centos系统中创建定时器完成定时任务 时间不一定能证明很多东西,但是一定能看透很多东西,坚信自己的选择,不动摇,使劲跑,明天会更好。 在 CentOS 上,可以使用 systemd 定时器来创建一个每十秒执行一次的任务…...

WLAN基础知识(1)
WLAN: 无线局域网,无线技术:Wi-Fi、红外、蓝牙等 WLAN设备: 胖AP: 适用于家庭等小型网络,可独立配置,如:家用Wi-Fi路由器 瘦AP: 适用于大中型企业,需要配合AC…...

网络安全实训第三天(文件上传、SQL注入漏洞)
1 文件上传漏洞 准备一句话文件wjr.php.png,进入到更换头像的界面,使用BP拦截选择文件的请求 拦截到请求后将wjr.php.png修改为wjr.php,进行转发 由上图可以查看到上传目录为网站目录下的upload/avator,查看是否上传成功 使用时间戳在线工具…...

Nginx 学习之 配置支持 IPV6 地址
目录 搭建并测试1. 下载 NG 安装包2. 安装编译工具及库文件3. 上传并解压安装包4. 编译5. 安装6. 修改配置7. 启动 NG8. 查看 IP 地址9. 测试 IP 地址9.1. 测试 IPV4 地址9.2. 测试 IPV6 地址 IPV6 测试失败原因1. curl: [globbing] error: bad range specification after pos …...

springboot+伊犁地区游客小助手-小程序—计算机毕业设计源码无偿分享需要私信20888
摘 要 提起伊犁,很多人常说,不去新疆,你就不知道中国有多美,不去伊犁,你就不知道新疆有多美。在这里你可以看到中国最美的景色。如果可可托海海是一个野性和粗犷的战士,那么那拉提一定是一个温柔和玉般的绅…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...