当前位置:首页 > 文章列表 > 数据库 > MySQL > MYSQL数据库主从同步设置的实现步骤

MYSQL数据库主从同步设置的实现步骤

来源:脚本之家 2022-12-30 10:19:13 0浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《MYSQL数据库主从同步设置的实现步骤》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

为什么要主从同步?

1、读写分离

主从同步分为一个主机多个从机,可以设置主从机权限。主机可以读写,从机只能读。主机对数据的操作会复制到从机,主机的数据和从机的一致。这样就可以实现读写分离,读写分离可以缓解服务器压力。互联网的应用往往是“读多写少”的需求,采用读写分离的方式,可以实现更高的并发访问。

2、数据备份

我们通过主从复制将主库上的数据复制到了从库上,相当于是一种热备份机制,也就是在主库正常运行下进行备份,不会影响到服务。

3、高用性

具有高可用性。我刚才讲的数据备份实际上是一种冗余的机制,通过这种冗余的方式可以换取数据库的高可用性,也就是当服务器出现故障或者宕机的情况下,可以切换到从服务器上,让从服务器充当主服务器,保证服务的正常运行。

主从同步的原理

主机每执行一个操作会在二进制日志文件中记录。从机每隔一段时间就会对主机的日志文件进行探测,如果发生改变,从机就会发送一个IO请求,复制主机中的日志文件进行同步操作,这样从机就可以和主机同步。

MYSQL数据库进行主从同步

创建两个MYSQL数据库

这里创建了两个数据库,分别为3301和3302。3301作为主机,3302作为从机

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

主机3301的配置文件如下:

[mysqld] 
# 主机端口号
port=3308
# 服务器标识,每个服务器不能一样
server_id=111
# 开启日志文件
log_bin=binlog 
# 普通用户只能读 OFF是关闭状态
read_only=off 
# 超级用户只能读 OFF是关闭状态
super_read_only=off

在这里插入图片描述

从机3302的配置文件如下:

[mysqld]
# 从机端口号
port=3309
# 服务器标识
server_id=2
# 开启日志文件
log_bin=binlog
# 普通用户只能读 on是开启状态 
read_only=on 
# 超级用户只能读 on是开启状态 
super_read_only=on

在这里插入图片描述

初始化,安装主机数据库

初始化和安装方法和平时配置数据库一样,不会的看这篇博客:https://www.jb51.net/article/174987.htm

安装好数据库后进入主机:

进入主机数据库,没有密码。

在这里插入图片描述

建立同步账号,并授权

在这里插入图片描述

查看主库master

在这里插入图片描述

记住查询出的结果,后面要用

在这里插入图片描述

配置从机

进入数据库

在这里插入图片描述

复制主机的二进制日志操作,其中 source_user是主机创建的同步账户账号,source_password是账号密码,source_port主机端口号,source_log_file之前查看主机master时File的信息,source_log_pos是Position的信息。

mysql>change replication source to source_host='127.0.0.1', source_user='repl', source_password='repl', source_port=3308,source_log_file='binlog.000006', source_log_pos=336;

启动同步

mysql>start replica;

查看IO线程和sql线程是否开启

mysql>show slave status \G

在这里插入图片描述

测试主从同步

主机当前的全部数据库:

在这里插入图片描述

从机当前的全部数据库:

在这里插入图片描述

主机建立一个新数据库xxx:

在这里插入图片描述

从机查看数据库:

在这里插入图片描述

操作同步,完成

以上就是《MYSQL数据库主从同步设置的实现步骤》的详细内容,更多关于mysql的资料请关注golang学习网公众号!

版本声明
本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
mysql远程跨库联合查询的示例mysql远程跨库联合查询的示例
上一篇
mysql远程跨库联合查询的示例
银河麒麟V10安装MySQL8.0.28并实现远程访问
下一篇
银河麒麟V10安装MySQL8.0.28并实现远程访问
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    511次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    498次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!
    千音漫语
    千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
    95次使用
  • MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案
    MiniWork
    MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
    89次使用
  • NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛
    NoCode
    NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
    106次使用
  • 达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病
    达医智影
    达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
    98次使用
  • 智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃
    智慧芽Eureka
    智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
    97次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码