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

 更新时间:2022年03月01日 08:39:45   作者:桃花键神  
本文主要介绍了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数据库主从同步设置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql中新建用户及授权的方法分享

    Mysql中新建用户及授权的方法分享

    这篇文章给大家汇总介绍了Mysql中新建用户及授权的方法,首先介绍的是作者自己的项目经历,后面附上了参考文章,希望能对大家学习mysql有所帮助。
    2016-07-07
  • mysql prompt的用法详解

    mysql prompt的用法详解

    本篇文章是对mysql中prompt的用法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 美团DB数据同步到数据仓库的架构与实践

    美团DB数据同步到数据仓库的架构与实践

    今天小编就为大家分享一篇关于美团DB数据同步到数据仓库的架构与实践,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • MySQL 读写分离的实现逻辑及步骤详解

    MySQL 读写分离的实现逻辑及步骤详解

    文章介绍了MySQL读写分离的架构、实现步骤、可能遇到的问题及解决方案,并总结了优化点,以提高MySQL数据库的性能和可扩展性,感兴趣的朋友一起看看吧
    2025-02-02
  • 使用shardingsphere实现mysql数据库分片方式

    使用shardingsphere实现mysql数据库分片方式

    本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置方法,适用于大数据场景下的数据库扩展
    2025-08-08
  • MySQL该如何判断不为空详析

    MySQL该如何判断不为空详析

    在MySQL数据库中,在不同的情形下,空值往往代表不同的含义,这是MySQL数据库的一种特性,下面这篇文章主要给大家介绍了关于MySQL该如何判断不为空的相关资料,需要的朋友可以参考下
    2023-02-02
  • MySQL中CREATE DATABASE语句创建数据库的示例

    MySQL中CREATE DATABASE语句创建数据库的示例

    在MySQL中,可以使用CREATE DATABASE语句创建数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • 关于Mysql隔离级别、锁与MVCC介绍

    关于Mysql隔离级别、锁与MVCC介绍

    本篇文章给大家详细介绍了一下关于Mysql隔离级别、锁与MVCC的相关知识,有这方面兴趣的朋友参考下。
    2018-01-01
  • MySQL的锁机制及排查锁问题解析

    MySQL的锁机制及排查锁问题解析

    MySQL的锁机制包括行锁和表锁,行锁进一步细分为RecordLock、GapLock和Next-keyLock,行锁因其细粒度而减少冲突但开销大,可能引起死锁,本文介绍MySQL的锁机制及排查锁问题,感兴趣的朋友一起看看吧
    2025-01-01
  • vim引发的MySQL进程挂掉的问题解决

    vim引发的MySQL进程挂掉的问题解决

    本文介绍了使用logrotate工具对MySQL日志进行自动归档和管理,通过配置logrotate,可以实现按周归档,文件大于2G时执行,保留最近两周的数据,感兴趣的可以了解一下
    2025-09-09

最新评论