当前位置: 首页 > news >正文

教你如何在Mysql中,实现双机热备和负载均衡

相信很多小伙伴们都不知道吧,其实,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选项配置文件中添加以下参数:
在这里插入图片描述

6.重启slave

副服务器上MySQL服务重启后,还在数据目录中创建一个master.info文件,其中包含所有有关复制过程的信息(连接主服务器的相关信息及与主服务器交换数据的相关信息)。在初次启动以后,副服务器将检查这个master.info文件,以得到相关信息。

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

将主服务器上备份好的数据库脚本文件(cartrader.sql)导入到副服务器数据库中,以便保证主-副服务器上进行复制操作的起点一样。

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

8.查看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中实现双机热备和负载均衡”的相关内容,各位小伙伴们,你们学到了没,如若有不清楚的地方,或者想了解更多相关知识的可以关注摩杜云,更多干货等你来学!

相关文章:

  • 如何将dede织梦搭建的网站首页index.html去掉?
  • 热潮中的云计算行业,摩杜云如何与巨头角逐?
  • 5G加速云游戏趋势,摩杜云游戏解决方案解决核心痛点
  • 摩杜云对象存储MOS:打造新一代存储技术底座,为海量数据创造无限可能
  • 如何在MySQL中创建数据库及添加用户并授权用户
  • 2021亚太内容分发大会 摩杜云荣获“融合CDN创新奖”
  • 如何在MySQL中实现自增序列?简单易懂的教程推荐!
  • 摩杜云出席2021亚太CDN峰会,荣获“融合CDN创新奖”
  • 摩杜云将出席CDEC2021中国数字智能生态大会
  • 如何在CentOS中安装Redis和MySQL
  • 如何优化MySQL数据库?这3个小技巧要知道!
  • 摩杜云:打造“云+数据”新实践,为企业数智化升级注入新功能
  • 决战618!摩杜云爆款秒杀,最低一年3.3元起
  • 网站服务器如何防止被攻击?脚本程序升级很重要!
  • MySQL初始密码忘记了怎么办
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • [译]Python中的类属性与实例属性的区别
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • bearychat的java client
  • Computed property XXX was assigned to but it has no setter
  • ES6核心特性
  • gulp 教程
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JSDuck 与 AngularJS 融合技巧
  • LintCode 31. partitionArray 数组划分
  • rabbitmq延迟消息示例
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 三栏布局总结
  • 收藏好这篇,别再只说“数据劫持”了
  • 探索 JS 中的模块化
  • 一道面试题引发的“血案”
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • MyCAT水平分库
  • ​2021半年盘点,不想你错过的重磅新书
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #laravel 通过手动安装依赖PHPExcel#
  • %@ page import=%的用法
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C#)获取字符编码的类
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (强烈推荐)移动端音视频从零到上手(上)
  • (转)Google的Objective-C编码规范
  • (转)Mysql的优化设置
  • (转)Windows2003安全设置/维护
  • (转)甲方乙方——赵民谈找工作
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET MVC 验证码
  • .Net Winform开发笔记(一)