详解Mysql双机热备和负载均衡的实现步骤

MySQL数据库没有增量备份的机制,但它提供了一种主从备份的机制,就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份。

下面是具体的主从热备份的步骤:

假设主服务器A(master)、从服务器为B(slave)

A:192.168.0.104

B:192.168.0.169

1.主服务器授权

授权副服务器可以连接主服务器并可以进行更新。这是在主服务器上进行的,创建一个username和password供副服务器访问时使用。也可以使用主服务器默认的帐号和密码。

2.数据复制

将master上已有的数据复制到slave上,以便主从数据库建立的时候两个数据库的数据保持一致。导出导入数据库就不详述了。

3.配置主服务器

修改master上mysql的根目录下的my.ini配置文件

在选项配置文件中赋予主服务器一个server-id,该id必须是1到2^23-1范围内的唯一值。主服务器和副服务器的server-id不能相同。另外,还需要配置主服务器,使之启用二进制日志,即在选项配置文件中添加log-bin启动选项。

注意:如果主服务器的二进制日志已经启用,关闭并重新启动之前应该对以前的二进制日志进行备份。重新启动后,应使用RESET MASTER语句清空以前的日志。

原因:master上对数据库cartrader的一切操作都记录在日志文件中,然后会把日志发给slave,slave接收到master传来的日志文 件之后就会执行相应的操作,使slave中的数据库做和master数据库相同的操作。所以为了保持数据的一致性,必须保证日志文件没有脏数据。

4.重启master

配置好以上选项后,重启MySQL服务,新选项将生效。现在,所有对数据库中信息的更新操作将被写进日志中。

5.配置slave

在副服务器上的MySQL选项配置文件中添加以下参数:

[mysqld]
#唯一,并与主服务器上的server-id不同。
server-id=2
#主服务器的主机名或者ip地址
master-host= 192.168.0.104
#如果主服务器没有在默认的端口上监听,则需确定master-port选项
master-port=3306
#步骤2.1中创建的用户名和密码
master-user=root
master-password=123456
#复制操作要针对的数据库(可选,默认为全部)
replicate-do-db=cartrader
#如果主副服务器间连接经常失败,需增加master-retry-count和master-connect-retry
#master-retry-count连接重试的次数
#master-connect-retry 连接失败后等待的秒数
master-retry-count = 999
master-connect-retry = 60

5.重启slave

副服务器上MySQL服务重启后,还在数据目录中创建一个master.info文件,其中包含

所有有关复制过程的信息(连接主服务器的相关信息及与主服务器交换数据的相关信息)。在初次启动以后,副服务器将检查这个master.info文件,以得到相关信息。

如果想修改复制选项,删除master.info并重启MySQL服务,在启动过程中使用选项配置文件中的新选项进行重新创建了master.info文件。

将主服务器上备份好的数据库脚本文件(cartrader.sql)导入到副服务器数据库中,以便保

证主-副服务器上进行复制操作的起点一样。

6.查看master的状态与设置的是否一致

7.查看slave

一般情况下重启了slave之后,自动就会开启复制功能,可以通过下面的语句查看

在slave上

mysql>show slave status

如果显示waiting for master to send event 的话就表示已经启动了,反之就运行

mysql>start slave

来启动slave

在SHOW SLAVE STATUS的命令输出后,应该包含Slave_IO_Running对应的值为YES,

Slave_SQL_Running对应的值为YES,只有这样才保证主从机能正常备份。

暂时停止主从热备份的命令是:

mysql>stop slave

总结

以上所述是小编给大家介绍的Mysql双机热备和负载均衡的实现步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • Mysql 数据库双机热备的配置方法

    1.mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中.实现mysql数据库的热备份. 2.要想实现双机的热备首先要了解主从数据库服务器的版本的需求.要实现热备mysql的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本. 3.设置主数据库服务器: a.首先查看主服务器的版本是否是支持热备的版本

  • 如何使用nginx充当mysql的负载均衡器

    说明:nginx版本要求是1.9以上 ,编译nginx的时候需要加上 --with-stream 如: ./configure --prefix=/Data/apps/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-stream 注意 1.因为mysql默认使用了3306端口所以配置nginx t

  • 阿里云服务器手动实现mysql双机热备的两种方式

    一.概念 1.热备份和备份的区别 热备份指的是:High Available(HA)即高可用,而备份指的是Backup,数据备份的一种.这是两种不同的概念,应对的产品也是两种功能上完全不同的产品.热备份主要保障业务的连续性,实现的方法是故障点的转移.而备份,主要目的是为了防止数据丢失,而做的一份拷贝,所以备份强调的是数据恢复而不是应用的故障转移. 2.什么是双机热备? 双机热备从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务.当一台服务器出现故障时,可以由另一台服务器承

  • 具有负载均衡功能的MySQL服务器集群部署及实现

    在实际生产环境中,部署和实现具有一定负载均衡功能的 MySQL服务器集群,对于提高用户数据库应用系统的性能.速度和稳定性具有明显的作用.本文简要介绍了在 FreeBSD 7.0-Release系统上部署实现MySQL服务器集群的方案,并对可能出现的问题提供了相应的解决方法.1. 引言MySQL是一个高速度.高性能.多线程.开放源代码,建立在客户/服务器(Client /Server)结构上的关系型数据库管理系统(RDBMS).它始于1979年,最初是Michael Widenius为瑞典TcX公

  • mysql双机热备实现方案【可测试】

    一.概念 1.热备份和备份的区别 热备份指的是:High Available(HA)即高可用,而备份指的是Backup,数据备份的一种.这是两种不同的概念,应对的产品也是两种功能上完全不同的产品.热备份主要保障业务的连续性,实现的方法是故障点的转移.而备份,主要目的是为了防止数据丢失,而做的一份拷贝,所以备份强调的是数据恢复而不是应用的故障转移. 2.什么是双机热备? 双机热备从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务.当一台服务器出现故障时,可以由另一台服务器承

  • Keepalived+HAProxy实现MySQL高可用负载均衡的配置

     Keepalived 由于在生产环境使用了mysqlcluster,需要实现高可用负载均衡,这里提供了keepalived+haproxy来实现. keepalived主要功能是实现真实机器的故障隔离及负载均衡器间的失败切换.可在第3,4,5层交换.它通过VRRPv2(Virtual Router Redundancy Protocol) stack实现的. Layer3:Keepalived会定期向服务器群中的服务器.发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的

  • mysql双机热备份的实现步骤

    设置 MySql 数据同步 摘要 mysql从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能. 数据库同步复制功能的设置都在mysql的设置文件中体现.mysql的配置文件(一般是my.cnf) 在unix环境下在/etc/mysql/my.cnf 或者在mysql用户的home目录下面的my.cnf. window环境中,如果c:根目录下有my.cnf文件则取该配置文件.当运行mysql的winmysqladmin.exe工具时候,该工

  • Mysql数据库双机热备难点分析

    小编在以前给大家介绍过关于Mysql 数据库双机热备的配置方法有兴趣的朋友参考一下,本节我们重点对其中的重要环节和需要注意的地方做了总结和分析. 一:介绍 mysql版本:5.7.20 第一个主服服务器ip:192.168.71.139 第二个主服服务器ip:192.168.71.141 二:配置 第一台主服务器192.168.71.139 1:修改/etc/mysql/my.cnf 文件,注意这里的#是注释,不要写到配置文件中 server-id = 141                  

  • 详解Mysql双机热备和负载均衡的实现步骤

    MySQL数据库没有增量备份的机制,但它提供了一种主从备份的机制,就是把主数据库的所有的数据同时写到备份数据库中.实现MySQL数据库的热备份. 下面是具体的主从热备份的步骤: 假设主服务器A(master).从服务器为B(slave) A:192.168.0.104 B:192.168.0.169 1.主服务器授权 授权副服务器可以连接主服务器并可以进行更新.这是在主服务器上进行的,创建一个username和password供副服务器访问时使用.也可以使用主服务器默认的帐号和密码. 2.数据复

  • docker-compose启动mysql双机热备互为主从的方法实现

    目录 1. 环境说明 2. 启动 mysql-01 3. 启动 mysql-02 4. 配置主从同步 4.1 mysql-01(master) ==> mysql-02(slave) 4.2 mysql-02(master) ==> mysql-01(slave) 1. 环境说明 IP地址 服务 10.1.xxx.65 mysql-01 10.1.xxx.66 mysql-02 2. 启动 mysql-01 创建master-01 目录,目录下边创建 docker-compose.yml和my

  • 详解基于Centos7+Nginx+Tomcat8的负载均衡服务器的搭建

    由于工作的需求,在使用中,需要搭建负载均衡,研究了Apache+Tomat负载均衡的方案,并且通过检索相关的文章,进行了比较发现,Apache负载负载均衡在使用的效率上,远远不如Nginx的效率高,因此决定使用Nginx来进行服务的搭建.最初YUM安装了Nginx,但是不知道什么原因,Nginx的服务可以正常启动,静态页面也可以正常访问,但是就是无法正常的搭建虚拟主机和负载均衡.对引没有深究原因,决定把他卸载,然后手动安装. 手动安装好Nginx后,一切正常,虚拟主机,负载均衡的配置全部没有任何

  • 详解Docker Swarm服务发现和负载均衡原理

    本文将介绍基于 DNS 的负载均衡.基于 VIP 的负载均衡和路由网格(Routing Mesh). 使用的技术 Docker 使用了 Linux 内核 iptables 和 IPVS 的功能来实现服务发现和负载均衡. iptables 是 Linux 内核中可用的包过滤技术,它可用于根据数据包的内容进行分类.修改和转发决策. IPVS 是 Linux 内核中可用的传输级负载均衡器. 准备工作 swarm 集群: [Manager]node1.[Worker]node2 客户端镜像: regis

  • 详解Mysql数据库平滑扩容解决高并发和大数据量问题

    目录 1 停机方案 2 停写方案 3 平滑扩容之双写方案(中小型数据) 4 平滑扩容之2N方案大数据量问题解决 4.1 扩容问题 4.2 解决方案 4.3 双主架构思想 4.4 环境部署 5 数据库秒级平滑2N扩容实践 5.1 新增数据库VIP 5.2 应用服务增加动态数据源 5.3 解除原双主同步 5.4 安装MariaDB扩容服务器 5.5 增加KeepAlived服务实现高可用 5.6 清理数据并验证 1 停机方案 发布公告 停止服务 离线数据迁移(拆分,重新分配数据) 数据校验 更改配置

  • 详解MySQL的主从复制、读写分离、备份恢复

    一.MySQL主从复制 1.简介 我们为什么要用主从复制? 主从复制目的: 可以做数据库的实时备份,保证数据的完整性: 可做读写分离,主服务器只管写,从服务器只管读,这样可以提升整体性能. 原理图: 从上图可以看出,同步是靠log文件同步读写完成的. 2.更改配置文件 两天机器都操作,确保 server-id 要不同,通常主ID要小于从ID.一定注意. # 3306和3307分别代表2台机器 # 打开log-bin,并使server-id不一样 #vim /data/3306/my.cnf lo

  • keepalived双机热备nginx的配置方法

    nginx目前是我最常用的反向代理服务,线上环境为了能更好的应对突发情况,一般会使用keepalived双机热备nginx或者使用docker跑nginx集群,keepalived是比较传统的方式,虽然用docker跑nginx集群更方便,但传统的方式总是有他的可取之处,并且多学一些东西也很好.以后也会写如何使用docker跑nginx集群. 环境准备: 2台centos: 192.168.0.105 和192.168.0.118, 虚拟IP(VIP)为192.168.0.119 配置keepa

随机推荐