返回顶部
首页 > 资讯 > 服务器 >如何用两台服务器实现数据库的主从同步与分离
  • 654
分享到

如何用两台服务器实现数据库的主从同步与分离

2024-04-02 19:04:59 654人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关如何用两台服务器实现数据库的主从同步与分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用背景:在网联网不断发展的时代,人们对数据的使

这期内容当中小编将会给大家带来有关如何用两台服务器实现数据库的主从同步与分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

使用背景:在网联网不断发展的时代,人们对数据的使用也不断的增加,对于用户的请求不断的增加,数据库的读写操作就特别大,就会导致服务器受不了那么多用户的请求和对数据的操作,导致服务器负荷,相应的用户的等待时间就会特别长,给用户的体验特别差,而主从同步就很好的解决的这种并发的问题。

主从同步:简单来说就是使用两台服务器,分别处理用户的读和写的操作,从而实现了读写分离。由于从服务器同步的主服务器上的数据,所以主从同步极大的保证了数据的安全

基本原理:主从同步,分为两台服务器

如图:Master为主服务器,Slave为从服务器

1. 主服务器(Master)对数据的操作,对事务更新完成之前,Mysql将以串行的形式将日志以2进制的形式写入到Binary log日志中(即二进制日志事件),在事务写完以后,Master通知存储引擎,提交事务.

2.提交事务后,Slave服务器,将Master的Binary log日志拷贝到自己的Relay log中(即Slave开启I/O thread 读取Master中的Binary log,然后写入到Slave中的Relay log 中)

3.SOL thread线程将Relay log中的日志读取,重做数据,达到将Master中的数据改变同步到Slave中.

所以:两台服务器,Master提供给用户写(增,删,该)的操作,Slave供公户读(查询)的操作,从而大大的减轻了服务器的负荷,解决了高并发的问题。

如何用两台服务器实现数据库的主从同步与分离

那么接下来让我们看看如何使用两台服务器搭建mysql的主从同步吧(ps:今天只介绍如何在服务器上搭建主从同步的实现)。

如何用两台服务器实现数据库的主从同步与分离

在开始之前,需要两台服务器,安装好linux系统,并且安装好mysql 5.1以上的版本.(最好安装有vim编辑器)。

那么这些环境准备好了,就开始搭建吧!

1.使用ssh连接你的两台服务器(这里我用的两台为Master和Slave的服务器)

2.修改Master和Slave上的mysql的配置文件

 a.修改主服务器(Master)的配置文件

如何用两台服务器实现数据库的主从同步与分离

输入命令:vim /etc/my.cnf  (mysql的默认安装位置)

会出现以下提示:

选择e,进行编辑.

按i键

在mysqld下添加以下配置:

server-id=1    log-bin=master-bin    log-bin-index=master-bin.index

如何用两台服务器实现数据库的主从同步与分离

如图(看图上具体细节),wq保存并退出,这里主服务器(Master)的配置就好了。

然后重载mysql配置

输入:service mysqld restart

如何用两台服务器实现数据库的主从同步与分离

接下来我们看看是否成功配置

在Master中登录mysql

命令:mysql -uroot -p

输入密码后进入mysql界面,输入show master status,如图:

如何用两台服务器实现数据库的主从同步与分离

b.修改从服务器的配置(Slave)

连接Slave服务器,vim打开mysql的配置文件

原理一样,在mysqld添加下配置

server-id=2  relay-log=slave-relay-bin  relay-log-index=slave-relay-bin.index

如图:

如何用两台服务器实现数据库的主从同步与分离

保存退出

然后重启mysql,这里介绍另一种重启mysql的方法

输入命令:/etc/init.d/mysql stop 停止

/etc/init.d/mysql start  启动

登录mysql验证配置是否有误

如何用两台服务器实现数据库的主从同步与分离

说明,配置没啥问题。

3.开始主从连接  

a.在主服务器中添加从服务器连接所用到的用户

在master中创建用户mengxin(ps:这是笔者用的名字)

create user mengxin

再授予mengxin 主从访问权限

grant replication slave on *.* to 'mengxin'@'从服务器的ip' identified by '连接时需要的用户密码(自己设置)';

然后输入:flush privileges

刷新更新权限信息

b.来到从服务器(Slave)进行连接

 登录到从服务器的mysql

 输入命令:

change master to master_host='主机ip',master_port=3306,master_user='mengxin',master_passWord='mengxin',master_log_file='master-bin.000001',master_log_pos=0

进行连接,

命令说明:master_host为Master服务器的ip,master_port为Master服务器的端口(默认为3306),master_user为刚刚在Master服务器上设置的user名,master_password为刚刚设置的密码,master_log_file为刚刚上面说到的要用的那个参数(ps:可以在master服务器上输入命令:show master status进行查看)

如何用两台服务器实现数据库的主从同步与分离

执行该命令后,表示连接已完成,

开启主从同步:start slave

然后输入:show slave status  \G;

查看运行状态:(如图,没有报错,表示主从同步成功配置)

如何用两台服务器实现数据库的主从同步与分离

最后让我们来验证一下,主从同步的效果:

在Master中创建mengxin_shop数据库

如何用两台服务器实现数据库的主从同步与分离

在Slave服务器中,查看数据库,可以看到在master中添加的数据库更新到Slave中了

如何用两台服务器实现数据库的主从同步与分离

呼,终于写完了,遇到了各种各样的错误,还是一点点的解决了

这里列举出配置过程中遇到的集中常见的错误吧

1.如果配置中,最后一步查看Slave的状态出现如图所示错误

如何用两台服务器实现数据库的主从同步与分离

这表明,mysql.user中没有plugin这个字段,这是因为你mysql的版本为5.1,没有这个字段,授权会出现问题

解决办法:将两台服务器的mysql版本保持到5.5以上,尽量相同版本

2.有时会出现Slave连接Master连接不上的错误,请检查服务器上的mysql数据库端口3306是否关闭防火墙。

3.有时会出现slave和master id相同的错误,请确保slave配置中的server-id是否值只存在一个,并且为2

上述就是小编为大家分享的如何用两台服务器实现数据库的主从同步与分离了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网服务器频道。

--结束END--

本文标题: 如何用两台服务器实现数据库的主从同步与分离

本文链接: https://lsjlt.com/news/69986.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何用两台服务器实现数据库的主从同步与分离
    这期内容当中小编将会给大家带来有关如何用两台服务器实现数据库的主从同步与分离,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用背景:在网联网不断发展的时代,人们对数据的使...
    99+
    2024-04-02
  • MySQL数据库的主从同步配置与读写分离
    使用mysql主从复制的好处有: 1、采用主从服务器这种架构,稳定性得以提升。如果主服务器发生故障,我们可以使用从服务器来提供服务。 2、在主从服务器上分开处理用户的请求,可以提升数据处理效率。 3、将主服...
    99+
    2024-04-02
  • mysql服务器主从数据库同步如何配置
    小编给大家分享一下mysql服务器主从数据库同步如何配置,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!首先需要在同一个局域网内的两台机器(当然也可以用一台机器虚拟两台机器出来),都安装上mys...
    99+
    2024-04-02
  • OGG怎么实现两台Oracle数据库的同步
    本篇内容介绍了“OGG怎么实现两台Oracle数据库的同步”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首...
    99+
    2024-04-02
  • 实现↝Mysql数据库主从复制搭建与同步
    实现↝Mysql数据库主从复制搭建与同步 🔻 一、mysql 同步复制有关概述⛳ 前言、何为主从复制⛳ 1.1 mysql支持的复制方式⛳ 1.2 mysql支持的复制类型1....
    99+
    2023-09-17
    数据库 mysql msyql主从复制 linux 运维 服务器 centos
  • MySQL数据库主从同步的实现方法
    这篇文章主要讲解了MySQL数据库主从同步的实现方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。安装环境说明系统环境:[root@~]# cat /etc/redhat-re...
    99+
    2024-04-02
  • MYSQL数据库主从同步设置的实现步骤
    目录为什么要主从同步?主从同步的原理MYSQL数据库进行主从同步创建两个MYSQL数据库初始化,安装主机数据库配置从机测试主从同步为什么要主从同步? 1、读写分离 主从同步分为一个主...
    99+
    2024-04-02
  • Mysql数据库的主从复制与读写分离怎么实现
    这篇文章主要介绍“Mysql数据库的主从复制与读写分离怎么实现”,在日常操作中,相信很多人在Mysql数据库的主从复制与读写分离怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql数据库的主从复制...
    99+
    2023-06-21
  • 不同云服务器如何实现mysql数据库同步
    下文给大家带来关于不同云服务器如何实现mysql数据库同步,感兴趣的话就一起来看看这篇文章吧,相信看完不同云服务器如何实现mysql数据库同步对大家多少有点帮助吧。目标:A云服务器上自建的数据库同步到B云服...
    99+
    2024-04-02
  • MySQL主从复制指定不同库表如何实现同步参数
    本文主要给大家介绍MySQL主从复制指定不同库表如何实现同步参数,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL主从复制指定不同库表如何实现...
    99+
    2024-04-02
  • 利用MySQL主从配置实现读写分离减轻数据库压力
    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话...
    99+
    2024-04-02
  • MySQL的主从复制是什么?怎么实现MySQL服务器的主从同步?
    MySQL的主从复制是什么?怎么实现MySQL服务器的主从同步?这些问题可能是我们日常工作会见到的。通过这些问题,希望你能收获更多。下面是揭开这些问题的详细内容。MySQL主从复制案例概述在企业网站中,后端...
    99+
    2024-04-02
  • 详细介绍MySQL如何开启主从复制实现数据同步
    主从复制原理 主从复制线程 主节点    dump Thread:为每个Slave的I/O Thread启动一个dump线程,用于向其发送binary log events 从节点    I/O T...
    99+
    2024-04-02
  • Node.js Sequelize如何实现数据库的读写分离
    一、前言 在构建高并发的Web应用时,除了应用层要采取负载均衡方案外,数据库也要支持高可用和高并发性。使用较多的数据库优化方案是:通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(M...
    99+
    2022-06-04
    如何实现 数据库 Node
  • 如何实现数据库中主从表的设计
    本篇内容主要讲解“如何实现数据库中主从表的设计”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现数据库中主从表的设计”吧!举一个例子,我现在有一些新闻信息,...
    99+
    2024-04-02
  • 如何使用Redis实现分布式数据同步
    如何使用Redis实现分布式数据同步随着互联网技术的发展和应用场景的日益复杂,分布式系统的概念越来越被广泛采用。在分布式系统中,数据同步是一个重要的问题。Redis作为一个高性能的内存数据库,不仅可以用来存储数据,还可以用来实现分布式数据同...
    99+
    2023-11-07
    分布式 redis 数据同步
  • 如何利用mycat实现mysql数据库读写分离
    这篇文章主要介绍了如何利用mycat实现mysql数据库读写分离,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是MyCAT一个彻底开源的...
    99+
    2024-04-02
  • 如何使用PHP实现Redis数据库主从复制
    这篇文章主要介绍“如何使用PHP实现Redis数据库主从复制”,在日常操作中,相信很多人在如何使用PHP实现Redis数据库主从复制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用PHP实现Redis数...
    99+
    2023-07-06
  • 多台香港服务器同步如何让数据一致
    多台香港服务器同步让数据一致的方法:1、采用高可用sureHA软件镜像型方法进行同步;2、采用高可用sureHA双机热备共享型方法进行同步。具体内容如下:采用高可用sureHA软件镜像型,一台主服务器,一台备服务器,通过心跳线(网线)实时将...
    99+
    2024-04-02
  • 怎么利用数据库触发器实现数据的同步
    本篇内容主要讲解“怎么利用数据库触发器实现数据的同步”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用数据库触发器实现数据的同步”吧!一、什么是触发器数据库...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作