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

 更新时间:2019年10月14日 09:21:22   作者:wintercloud  
双机热备从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。这篇文章主要介绍了mysql双机热备实现方案,需要的朋友可以参考下

一、概念

1、热备份和备份的区别

  热备份指的是:High Available(HA)即高可用,而备份指的是Backup,数据备份的一种。这是两种不同的概念,应对的产品也是两种功能上完全不同的产品。热备份主要保障业务的连续性,实现的方法是故障点的转移。而备份,主要目的是为了防止数据丢失,而做的一份拷贝,所以备份强调的是数据恢复而不是应用的故障转移。

2、什么是双机热备? 

  双机热备从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。

  从狭义上讲,双机热备就是使用互为备份的两台服务器共同执行同一服务,其中一台主机为工作机(Primary Server),另一台主机为备份主机(Standby Server)。在系统正常情况下,工作机为应用系统提供服务,备份机监视工作机的运行情况(一般是通过心跳诊断,工作机同时也在检测备份机是否正常),当工作机出现异常,不能支持应用系统运营时,备份机主动接管工作机的工作,继续支持关键应用服务,保证系统不间断的运行。双机热备针对的是IT核心服务器、存储、网络路由交换的故障的高可用性解决方案。

二、环境描述

1、master

系统:windows 7

数据库:mysql5.5

ip:192.168.0.123

2、slave

系统:windows 7

数据库:mysql5.5

ip:192.168.0.105

(注:主服务器的版本不能高于从服务器版本 ,两台服务器须处于同一局域网)

三、主从热备实现

1、账户准备

①在master服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICATION SLAVE权限。进入mysql操作界面,输入以下SQL:

grant replication slave on *.* to 'replicate'@'192.168.0.105' identified by '123456';
flush privileges;

操作如图:  

②验证连接账户

在从服务器(slave)上用replicat帐户对主服务器(master)数据库进行访问,看是否可以连接成功。

在从服务器打开命令提示符,输入以下命令:

mysql -h192.168.0.123 -ureplicate -p123456

如果出现下面的结果,则表示能登录成功,说明可以对这两台服务器进行双机热备进行操作。

2、master配置

①修改mysql配置文件。找到my.ini配置文件打开后,在[mysqld]下修改即可:

[mysqld]

server-id = 123 #主ID,与从ID不能相同

log-bin=mysql-bin#设定生成log文件名

binlog-do-db = test_db #设置同步数据库名

replicate-do-db=test_db # 从服务器同步数据库名

binlog-ignore-db = mysql#避免同步mysql用户配置

②重启mysql服务

打开命令提示符,输入以下两条命令完成重启:

net stop mysql
net start mysql

③查看master服务器状态

show master status;

④锁表

目的是为了产生环境中不让进新的数据,好让从服务器定位同步位置,初次同步完成后,记得解锁

flush tables with read lock;

步骤③④操作如图:

3、slave配置

①修改my.ini配置文件

log-bin=mysql-bin #设定生成log文件名
server-id=105# 从ID,与主ID不能相同
binlog-do-db=test_db #设置同步数据库名
binlog-ignore-db=mysql #避免同步mysql用户配置
replicate-do-db=test_db# 从服务器同步数据库名
replicate-ignore-db = mysql,information_schema,performance_schema

②重启mysql服务

③用change mster语句指定同步位置

进入mysql操作界面后,输入如下指令:

stop slave;
reset slave;
change master to master_host='192.168.0.123',master_user='replicate',master_password='123456',master_log_file='mysql-bin.000124',master_log_pos=107;
start slave;

注:这里的master_log_file、master_log_pos必须和前面show master status查询结果保持一致

操作如图:

4、解锁master表

unlock tables;

至此,主从热备实现完成,可进行测试操作。

总结

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

相关文章

  • Mysql及Navicat中设置字段自动填充当前时间及修改时间实现

    Mysql及Navicat中设置字段自动填充当前时间及修改时间实现

    这篇文章主要给大家介绍了关于Mysql及Navicat中设置字段自动填充当前时间及修改时间实现的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-07-07
  • MySQL如何插入Emoji表情

    MySQL如何插入Emoji表情

    这篇文章主要介绍了MySQL如何插入Emoji表情,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2020-12-12
  • MySQL复合查询(多表查询、子查询)的实现

    MySQL复合查询(多表查询、子查询)的实现

    MySQL复合查询是指在一个SQL语句中使用多个查询条件,以过滤和检索数据,本文主要介绍了MySQL复合查询(多表查询、子查询)的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • MySQL中union和join语句使用区别的辨析教程

    MySQL中union和join语句使用区别的辨析教程

    这篇文章主要介绍了MySQL中union和join语句的用法区别,举例说明了union和join在连接操作上的不同作用,需要的朋友可以参考下
    2015-12-12
  • MySQL数据库超时设置配置的方法实例

    MySQL数据库超时设置配置的方法实例

    这篇文章主要给大家介绍了关于MySQL数据库超时设置配置的相关资料,通过文中的设置方法可以很好的解决大家遇到的mysql数据库超时问题,需要的朋友可以参考下
    2021-10-10
  • MySQL池化框架学习接池自定义

    MySQL池化框架学习接池自定义

    这篇文章主要为大家介绍了MySQL连接池自定义示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • mysql数据表规模九千万条记录 如何优化查询?

    mysql数据表规模九千万条记录 如何优化查询?

    这里的优化维度有四个:硬件配置、参数配置、表结构设计和SQL语句及索引,需要的朋友可以参考下
    2023-12-12
  • mysql索引使用技巧及注意事项

    mysql索引使用技巧及注意事项

    本篇文章主要介绍了mysql索引使用技巧及注意事项,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • MySql nion与Limit查询介绍

    MySql nion与Limit查询介绍

    这篇文章主要为大家详细介绍一下MySQL数据库中union、limit查询的使用,文中的示例代码讲解详细,对我们学习MySQL有一定帮助,需要的可以参考一下
    2022-09-09
  • Mysql 5.7.17安装后登录mysql的教程

    Mysql 5.7.17安装后登录mysql的教程

    这篇文章主要介绍了Mysql 5.7.17安装后登录mysql的教程以及mysql5.7.17的安装方法,需要的朋友参考下吧
    2017-01-01

最新评论