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

 更新时间:2019年10月14日 09:27:24   作者:紫絮慕雪  
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选项配置文件中添加以下参数:

[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双机热备和负载均衡的实现步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • MySQL BETWEEN AND踩坑记录

    MySQL BETWEEN AND踩坑记录

    这篇文章主要介绍了MySQL BETWEEN AND踩坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别

    图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别

    这篇文章主要介绍了图解Mysql中的LEFT JOIN、RIGHT JOIN与JOIN的区别,Left Join就是以左边为基准,Inner Join就是查两个重复的部分,Right Join就是以右边为基准,需要的朋友可以参考下
    2023-11-11
  • mysql实现递归查询的方法示例

    mysql实现递归查询的方法示例

    本文主要介绍了mysql实现递归查询的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • MySQL中IF语句的基础及进阶用法

    MySQL中IF语句的基础及进阶用法

    在Mysql数据库中实现判断功能有很多方式,具体又分为函数和if语句形式,下面这篇文章主要给大家介绍了关于MySQL中IF语句的基础及进阶用法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • MySQL查看主从状态的命令实现

    MySQL查看主从状态的命令实现

    本文主要介绍了MySQL查看主从状态的命令实现,我们可以使用SHOW SLAVE STATUS命令来查看主从状态,本文就来详细的介绍一下如何实现,感兴趣的可以了解一下
    2023-10-10
  • 关于MySQL的ORDER BY排序详解

    关于MySQL的ORDER BY排序详解

    这篇文章主要介绍了关于MySQL的ORDER BY排序详解,如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的,需要的朋友可以参考下
    2023-05-05
  • mysql查询过去24小时内每小时数据量的方法(精确到分钟)

    mysql查询过去24小时内每小时数据量的方法(精确到分钟)

    我们经常遇到类似这样的需求,查询最近N秒、N分钟、N小时的数据及N天的数据,下面这篇文章主要给大家介绍了关于mysql查询过去24小时内每小时数据量(精确到分钟)的相关资料,需要的朋友可以参考下
    2023-03-03
  • MYSQL explain 执行计划

    MYSQL explain 执行计划

    explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。
    2009-08-08
  • mysql添加索引和不添加索引的区别及说明

    mysql添加索引和不添加索引的区别及说明

    这篇文章主要介绍了mysql添加索引和不添加索引的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 详解MySQL主键唯一键重复插入解决方法

    详解MySQL主键唯一键重复插入解决方法

    我们插入数据的时候,有可能碰到重复数据插入的问题,那么MySQL主键唯一键重复插入如何解决,本文就详细的来介绍一下,感兴趣的可以了解一下
    2021-09-09

最新评论