MySQL5.7主从同步配置(一台master,两台slave)

news2024/9/18 15:35:28

1. 下载MySQL(5.7.42)

rpm -ivh   http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

在这里插入图片描述

2.安装

yum install mysql-server
2.1 安装过程中如果报错如下,按下边方法处理。否则略过即可

在这里插入图片描述

2.2 解决方案:执行以下命令
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
2.3 再次执行安装命令
yum install mysql-server

3. 设置/etc/my.cnf 文件内容

3.1 设置master数据库 my.cnf文件

vim /etc/my.cnf

复制下边内容

datadir=/data/mysql/data     # 数据存放路径
port=3306
socket=/var/lib/mysql/mysql.sock
server_id=1                 # server_id 主从三台机器必须不一致
log-bin=/data/mysql/data/mysql-bin   # binlog日志存放路径
expire_logs_days = 7  
binlog-ignore-db=mysql # 忽略mysql这个数据库,不进行同步,也可以采用binlog-do-db=mysql指定同步mysql库
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0

log-error=/data/mysql/log/mysqlerror.log     # 日志存储位置
pid-file=/var/run/mysqld/mysqld.pid      
3.2 创建3.1中设置的文件路径
mkdir mysql/data/mysql
mkdir /mysql/data/log
touch /data/mysql/log/mysqlerror.log
3.3 赋予mysql访问权限
chown mysql:mysql  /data/mysql/log/mysqlerror.log
chown mysql:mysql  /data/mysql/data/
3.4 设置slave节点的 /etc/my.cnf

vim /etc/my.cnf

datadir=/data/mysql/data    # 日志文件位置
port=3306       
socket=/var/lib/mysql/mysql.sock
server_id=2               # slave节点id,另一个节点可设置为3,必须唯一
expire_logs_days = 7
replicate-ignore-db=mysql    # 忽略复制mysql数据库,也可以通过replicate-do-db=test指定复制某test数据库
log-error=/data/mysql/log/mysqlerror.log  # 日志文件位置
pid-file=/var/run/mysqld/mysqld.pid
3.5 创建3.4中文件路径并服务mysql访问权限
mkdir mysql/data/mysql
mkdir /mysql/data/log
touch /data/mysql/log/mysqlerror.log
chown mysql:mysql  /data/mysql/log/mysqlerror.log
chown mysql:mysql  /data/mysql/data/

4.启动MySQL主从节点

4.1 启动mysql命令
systemctl start mysqld
systemctl stop mysqld # 停止MySQL服务命令,此处不需要执行
4.2 查看mysql启动状态
 systemctl status mysqld
4.3 查看mysql默认密码
vim /var/log/mysqld.log
/password  # 在vim编辑器中搜索

5. 进入MySQL客户端

mysql -uroot -p
# 回车后输入前边查询的密码
5.1 进入MySQL客户端连接后,修改密码(在主从节点都要完成此操作)
# 设置密码策略为最低级别,策略共有三个级别,复杂度依次增加,只有LOW级别,支持简单密码,如12345678这样。
set global validate_password_policy=LOW; 

# 修改密码
alter user 'root'@'localhost' identified by '12345678';

# 刷新
FLUSH PRIVILEGES;

# 赋予远程任何机器连接权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION;
5.2 在主节点MySQL连接客户端添加数据同步从节点账户
# 支持任意从节点连接
grant replication slave on *.* to 'root'@'%' identified by '12345678';
5.3 退出MySQL客户端连接,重启mysql
systemctl restart mysql
5.4 重启后,重新进入MySQL客户端连接
show master status;

记录 File 名称和 Position 数字,等会从连接主节点时需要用到。
在这里插入图片描述

5.5 进入从节点MySQL连接客户端

注意:如果主库数据与从库数据相差较大,尽量先将主库数据导出后,手动导入到从库,然后在进行主从同步构建,否则可能因数据差距较大出现同步异常问题。

  • 修改从库同步设置
# master_log_file='mysql-bin.000002' 和master_log_pos=2740 对应上图(5.4)
change master to master_host='主库ip(192.168.1.1)',master_user='root',master_password='12345678',master_log_file='mysql-bin.000002',master_log_pos=2740;
  • 开启从库slave
start slave;
  • 查看从库状态
show slave status\G;

如下图所示均显示 Yes,则表示主从同步已成功建立。另一个从节点的操作与上述一致。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

mongodb redis mysql 区别

一、MySQL 关系型数据库。 在不同的引擎上有不同 的存储方式。 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。 开源数据库的份额在不断增加,mysql的份额页在持续增长。 缺点就是在海量数据处理的时候效率会显著变慢。 二、Mo…

Vue3中setup函数、以及父子组件传值讲解

文章目录 1.vue3中setup函数的执行时机2.setup函数的两种写法2.1 普通写法2.2 语法糖写法 3.vue3父组件给子组件传值。4.vue3子组件给父组件传值 1.vue3中setup函数的执行时机 setup选项的写法和执行时机,setup函数在beforeCreate函数之前执行,并且是自…

以安全为底线 共迎机遇和挑战|2023 开放原子全球开源峰会可信基础设施技术分论坛即将启幕

蚂蚁集团的业务领域,对于「可信」有非常高的技术要求。这种可信技术不仅体现在可靠、健壮,也体现在金融领域独有的风控难题以及分布式系统中持续提供服务的续航能力。可信基础设施中有大量的开源项目,而新的机会也在不断涌现。 2023 开放原子…

echarts 图表导出PDF(带滚动条)/图片导出PDF

echarts 图表导出PDF[带滚动条]/图片导出PDF 效果展示提出问题思考问题解决问题导出PDF 里面的页头中文乱码问题参数说明 效果展示 提出问题 在开发过程中,有需求是将展示出来的echarts图表导出为pdf 原本我的滚动条是使用echarts图表进行的滚动,但通过了解后得知,echarts图表如…

《人月神话》阅读推荐

用了两周的时间,大致过了一遍。书中讲述的很多方面可能此时并没有很深刻的体会,但是该书的预见性和分析还是很让人钦佩的。书中对项目、产品、程序、程序员等一系列对象的分析是相当精准的。虽然距今已有四十多年,但很多依旧在发生。   书中…

Java设计模式(四)

系列文章目录 UML类图 文章目录 系列文章目录前言一、UML类图二、UML基本介绍三、UML图1.类图—依赖关系(Dependence)2.类图—泛化关系(generalization)3.类图—实现关系(Implementation)4.类图—关联关系(Association)5.类图—聚合关系(Aggregation)6.类图—组合关系(Composi…

分布式(二)-大型网站架构演化发展历程

大型网站架构演化发展历程 大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,任何简单的业务一旦需要处理数以 P 计的数据和面对数以亿计的用户,问题就会变得很棘手。大型网站架构主要解决这类问题。 初始阶段的网站架构 …

MinIO 分片上传

文章目录 1.MinIO 简介2.为什么要分片上传?3.实现思路4.具体实现初始化客户端获取分片上传的预签名 URL合并分片中止合并 5.FAQ端口错误协议错误 参考文献 1.MinIO 简介 MinIO 是适用于 AI 的高性能对象存储系统。 MinIO 简单易用。简单性是 EB 级数据基础设施的基…

宝塔配置MySQL队列调度 | ModStart

执行以下操作前提前进入网站根目录,如 cd /www/wwwroot/xxx.com执行 artisan 命令前请参照 开发教程 → 开发使用常见问题 → 如何运行 /www/server/php/xxx/bin/php artisan xxx 命令 ① 生成数据库队列表迁移文件 在执行该步骤前,请先检查迁移文件 da…

【CSS 05】文本颜色 文本对齐 文字装饰 文本转换 文字间距 文本阴影 字体 字体样式 字体大小 谷歌字体

CSS 说在前面文本 text文本对齐 text-align文字装饰 text-decoration文本转换 text-transform文字间距 text_spacing文本阴影 text-shadow字体 font字体样式 font-style字体大小 font-size谷歌字体简写属性 shorthand 说在前面 事实证明,Zoro只要出现在标题就会被识…

go-GUI开发:fyne解决中文乱码+注册windows服务

go-GUI框架:fyne教程及解决中文乱码等常见bug 1 fyne教程 fyne教程地址: https://www.topgoer.cn/docs/goday/goday-1crdp17nj4v6phttps://pkg.go.dev/fyne.io/fyne/v2#section-readme 1.1 介绍 简单易用,fyne提供了简单直观的API&#xff…

iOS编译提效插件cocoapods-jxedt方案详解

1. 前言 本篇文章是cocoapods-jxedt插件实现方案的详解,主要从以下几个方面阐述了一下插件的实现方案和历程。 插件文件目录介绍插件的工作流程介绍插件实现过程中的问题和解决方案记录 如果你对插件的使用还不了解,建议先读一下cocoapods-jxedt使用介…

CVE漏洞复现-CVE-2023-32233 NetFilter权限提升

CVE-2023-32233 NetFilter权限提升 Netfilter是Linux 内核中的网络数据包处理框架(iptables)通过各种规则和过滤器,基于数据包的来源、目标地址、协议类型、端口号等信息,控制网络流量和数据包的转发和处理具体,详情请…

使用贝叶斯网络预测糖尿病:从理论到实践

2023年9月数学建模国赛期间提供ABCDE题思路加Matlab代码,专栏链接(赛前一个月恢复源码199,欢迎大家订阅):http://t.csdn.cn/Um9Zd 引言 在现实世界中,许多变量之间存在着复杂的概率关系,例如天气、交通、健康等方面的因素都会相互影响。为了更好地理解…

音频基本概念

1.音频信号 音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。 数字音频系统通过将声波的波型转换…

调用腾讯云API实现英文识别

目录 1. 作者介绍2. 腾讯云英文识别API介绍2.1 英文识别原理—OCR技术2.2 腾讯云英文识别API 3. 实验过程3.1获得API3.2申请调用接口3.3调试接口3.4实验代码3.5实验结果3.6 问题分析 4. 参考连接 1. 作者介绍 乔奕婕,女,西安工程大学电子信息学院&#…

nginx系列第六篇:结合nginx梳理linux中信号的使用

nginx中master进程来管理整个nginx工作的全过程,运行时其通过接收外部信号输入的方式来对内部进行相关调整。本文对照nginx来梳理一下linux中信号常用API的使用。 目录 1.函数sigaction和signal 2.关于信号集sigset_t 2.1 测试程序1 2.2 测试程序1 3.信号屏蔽…

宝塔安装ModStart常见问题

Q:环境提示PHP未禁用危险函数 安装系统时通常会需要解禁 system,exec,passthru,shell_exec,popen,proc_open 等危险函数。部分集成环境会提示危险函数风险,通常可以如下方式解决: 该函数在通常只是在系统 系统安装/系统升级/模块安装/模块升…

【SpinalHDL快速入门】4.3、基本类型之UInt/SInt

文章目录 1.1、描述1.2、声明1.3、运算符1.3.1、逻辑运算(Logic)1.3.2、算术运算(Arithmetic)1.3.3、比较(Comparison)1.3.4、类型转换(Type Cast)1.3.5、部分赋值/提取操作符&#…

第一章:数据库概述

第一章:数据库概述 1.1:为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以"固化"&a…