MySQL的双机热备份(一)--MySQL的主从复制

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

MySQL的主从复制

   在这里分两个情况:1、两台服务器中都没有数据 2、主服务器上已经有数据,此时再开启从服务器
      一、两台服务器中都没有数据
   在复制结构中从服务器的mysql的版本要比主服务器的一样或者高也行。

1、修改配置文件:
在主服务器上
  修改/etc/my.cnf文件(配置文件所在由自己在安装时指定,不一定都在这个路径下 =。=)
vim /etc/my.cnf 
/修改: 
server-id = 1 (默认是1) 
开启二进制日志定位到:log-bin 
log-bin=mysql-bin 这个也是默认开启的 
修改完成后重新启动mysql服务 
# service mysqld restart

连接到mysql数据库创建用户并赋于复制的权限
mysql>GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO repl@'172.16.%.%' IDENTIFIED BY '123456';

2、在从服务器上
vim /etc/my.cnf 
修改:    
servier-id = 11   ## id号一定不能与主服务器的id号相同
关掉二进制日志 
#log-bin=mysql-bin 
添加如下内容:   ##这些是开启中继日志的
relay-log=relay-bin 
relay-log-index=relay-bin.index 
修改完成后重启一下服务 
# service mysqld restart
好了,配置文件修改完成了。

3、在主从服务器上各自清空一下日志,也是同时用命令:
在主服务器上:mysql>flush master;
在从服务器上:mysql> flush slave;

这样做要使主从服务器的日志位于同一个结点,否则这样会易出错。

4、清空日志后就可以在从服务器上连接到主服务器上了
mysql>    CHANGE MASTER TO MASTER_HOST='172.16.35.1',MASTER_USER='repl',MASTER_PASSWORD='123456';

用命令:mysql> show slave status\G 来查看一下是否已经连接上
如果出现以下结果表明连接成功,则连接失败。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

失败的原因有多种:
最常见的情况分别是:
1、在主服务器上的用户可能出错
2、没有重新滚动一下主从服务器的日志,在连接前有必要重新滚动一下。
下面就可以测试了。
在主服务器上创建或者删除数据库、表,就可以同步到从服务器上了。
在从服务器上也可以查看到从服务器要比主服务器慢多少时间用命令:
mysql> show slave status\G
定位到:Second_Behind_Master:0 (0,表示时间说明没有延迟)

下面来介绍一下较常见的情况
 二、主服务器上已经有数据,此时再开启从服务器

1   在开启从服务器之前要先把主服务器上的数据导入从服务器中。所以要先备份一下主服务器上的数据
# mysqldump --all-databases -- lock-all-tables --master-data=2 > /tmp/slave.sql

2、将备份复制到从服务器中
# scp /tmp/slave.sql 172.16.35.2:/tmp/


3、在从服务器上,把备份导入服务器中
mysql> source /tmp/slave.sql
4、下面就可以连接了,但是在连接之前要先查看备份的文件
用命令head来查看
# head -30 /tmp/slave.sql ##查看前30行的 
有一行是: 
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279; 
说明要备份的位置是:MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279 
所以在连接之前一定要说明这个位置

5、下面来开始在从服务器上连接主服务器
mysql>CHANGE MASTER TO MASTER_HOST='172.16.35.1',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279; 
返回的结果:Query OK, 0 rows affected (0.02 sec) 
说明连接成功

6、下面就可以启动从服务器了
mysql>start slave; 
mysql>show slave status\G     ##查看从服务器的状态是否连接成功 
如下所示说明成功连接: 
Slave_IO_Running: Yes 
Slave_SQL_Running: Yes

mysql>start slave;
mysql>show slave status\G ##查看从服务器的状态是否连接成功
如下所示说明成功连接:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

最后再来测试一下。  在主服务器上创建或者删除数据库、表,就可以同步到从服务器上了。 
 MySQL的主从复制是MySqL双机热备份的比较常用的方法。但是从服务器不能有写操作。不过,还有一种备份方式主--主复制,也是双机热备份的一种方法,将在下篇博文介绍。
  如果有什么不正确的地方还请指出,以便尽快的更改。谢谢

本文转自 ZhouLS 51CTO博客,原文链接:http://blog.51cto.com/zhou123/834821

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
存储 关系型数据库 MySQL
mysql数据库备份与恢复
MySQL数据库的备份与恢复是确保数据安全性和业务连续性的关键操作。
189 4
|
3月前
|
SQL 关系型数据库 MySQL
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
189 1
|
3月前
|
监控 关系型数据库 MySQL
深入了解MySQL主从复制:构建高效稳定的数据同步架构
深入了解MySQL主从复制:构建高效稳定的数据同步架构
166 1
|
23天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
91 14
|
1月前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
119 24
|
3月前
|
存储 关系型数据库 MySQL
MySQL主从复制原理和使用
本文介绍了MySQL主从复制的基本概念、原理及其实现方法,详细讲解了一主两从的架构设计,以及三种常见的复制模式(全同步、异步、半同步)的特点与适用场景。此外,文章还提供了Spring Boot环境下配置主从复制的具体代码示例,包括数据源配置、上下文切换、路由实现及切面编程等内容,帮助读者理解如何在实际项目中实现数据库的读写分离。
214 1
MySQL主从复制原理和使用
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
209 3
|
2月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
103 3
|
3月前
|
SQL 关系型数据库 MySQL
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
140 0
Mysql中搭建主从复制原理和配置
|
3月前
|
安全 关系型数据库 MySQL
MySQL用户备份
【10月更文挑战第2天】MySQL用户备份
89 3