mysql主从备份、主从切换

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本文实现两个数据库同步,分为主从模式和相互备份模式。 实施环境: 两台Linux机器 SerA ip:10.0.0.232 SerB ip:10.0.0.234 Demo1:主从模式 Master:SerA    Slave:SerB 在SerA和SerB上分别建立用于同步的账号(也...

 本文实现两个数据库同步,分为主从模式和相互备份模式。

实施环境:

两台Linux机器

SerA ip:10.0.0.232

SerB ip:10.0.0.234

Demo1:主从模式

Master:SerA    Slave:SerB

在SerA和SerB上分别建立用于同步的账号(也可以不新建账号,直接给其他账号分配访问权限)

use mysql;

delete from user;

grant all privileges on *.* to '$username'@'%' identified by '$password' with grant option;

flush privileges; 

上面是为了安全,删除了一些用户(一般都要把默认的没有密码的用户删除)

StepA:

SerA配置为Master,在SerA上在my.cnf中添加:

replicate-do-db=$database

server-id=1

指定binlog(因为时通过binlog实现数据同步的)

配置完后重启数据库服务,用show master status可以看到Master信息。

StepB:

在SerB的my.cnf中指定

replicate-do-db=$database

server-id=2

指定binlog

配置完后重启数据库服务,用show slave status可以看到Slave信息。

(在MySQL5.1以后,my.cnf中已经去除了master-host等参数,应该在启动服务之后通过change master to ...命令来实现配置,也可以在启动的时候添加这些参数。下面是change master to ...示例)

bin/mysql -u$username -p$password -e "stop slave;change master to master_host='$mysqlMasterHost',master_port=3306,master_user=$username,master_password=$password;start slave;" 

mysqlMasterHost是Master的IP,

master_port是Master的端口,

master_user和master_password是用于同步的账号和密码

还有master_log_file和master_log_pos参数指定同步数据的位置。

可以在mysql命令模式下执行change master,之后start slave

注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info

所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。

这样就可以实现主从配置,此时在SerA指定数据库中加入数据,SerB中相应的数据库也会添加数据。

 模拟主从切换:

假设SerA现在无法提供服务,只需在SerB上执行show master status记录master_log_file和master_log_pos,停止ServB的slave。

在SerA上执行change master 到SerB,并且指定master_log_file和master_log_pos,这样就可以恢复在SerA宕机期间存到SerB上的数据。

 

看一些配置和查看命令的结果:

注意Slave_IO_Running和Slave_SQL_Running的状态都必须是YES

 

Demo2:双机互备

双机互备只是两台机器同时做Master和Slave,

即在SerA上使它的Master指向SerB,SerB的Maser指向SerA,

配置其实和主从模式是一样的。

 

 

 

 

如果本文对您有帮助,点一下右下角的“推荐”
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
在Linux中,如何备份和恢复MySQL数据库?
在Linux中,如何备份和恢复MySQL数据库?
|
1月前
|
SQL 数据可视化 关系型数据库
MySQL 备份可视化巡检系统
MySQL 备份可视化巡检系统
|
1月前
|
SQL 存储 关系型数据库
MySQL备份:mydumper 备份恢复工具生产实战
MySQL备份:mydumper 备份恢复工具生产实战
|
1月前
|
安全 关系型数据库 MySQL
揭秘MySQL海量数据迁移终极秘籍:从逻辑备份到物理复制,解锁大数据迁移的高效与安全之道
【8月更文挑战第2天】MySQL数据量很大的数据库迁移最优方案
211 17
|
28天前
|
存储 关系型数据库 MySQL
MySQL备份与恢复
MySQL备份与恢复
45 0
|
28天前
|
关系型数据库 MySQL Shell
分享一篇mysql数据库备份脚本
分享一篇mysql数据库备份脚本
21 0
|
1月前
|
关系型数据库 MySQL Shell
MySQL 备份:从mysqldump全备中 匹配出某几个表
MySQL 备份:从mysqldump全备中 匹配出某几个表
|
1月前
|
关系型数据库 MySQL
MySQL——增量备份和全量备份
MySQL——增量备份和全量备份
45 0
|
2月前
|
存储 关系型数据库 MySQL
利用 MySQL 克隆插件搭建主从
MySQL 的 Clone 插件是一个强大的功能,首次引入于 MySQL 8.0.17 版本。简单来说,Clone Plugin 是一款物理克隆数据工具,它能够帮助我们快速、高效地克隆或复制数据库,极大地简化了数据库迁移、备份和恢复的过程,让我们在处理大量数据时更加得心应手。本篇文章我们一起来学习下如何使用克隆插件。
65 2
|
2月前
|
运维 关系型数据库 MySQL
【实操记录】MySQL主从配置
本文使用MySQL原生支持的主从同步机制,详细记录了配置步骤及运维操作方法,可供大家直接参考、使用。 本文假设已经部署了两台主机的MySQL软件,且数据库服务正常,详细部署步骤可本站搜索:"mysql二进制安装包部署"
90 0

热门文章

最新文章