You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

mysql不停机不锁表主从搭建

MySQL数据库是应用广泛的关系型数据库,在实际的应用过程中,经常会出现需要扩容、备份、迁移等需求,但是针对一个高负载的MySQL数据库如何进行不停机、不锁表的主从搭建呢?本文将详细介绍如何使用Percona XtraBackup进行MySQL主从搭建。

一、Percona XtraBackup介绍

Percona XtraBackup是一个非常流行的MySQL备份工具,主要使用了InnoDB的一些特性,在备份过程中不会锁定表,同时也不会影响正常的读写操作。Percona XtraBackup可以进行增量备份,并支持备份到远程存储,更加安全可靠。

二、使用Percona XtraBackup进行主从搭建

1、安装Percona XtraBackup

在使用Percona XtraBackup之前,需要首先安装Percona XtraBackup工具。以CentOS系统为例,安装方法如下:

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y 
yum install percona-xtrabackup-24 -y

2、准备备份目录

在进行备份之前,需要准备一个备份目录。这个目录最好是在独立的存储设备上,以防止备份过程中的数据对当前存储设备的I/O产生影响。

mkdir /data/backup

3、备份MySQL服务器

使用Percona XtraBackup备份MySQL服务器,可以直接备份整个MySQL服务器,包括所有的数据库,命令如下:

innobackupex --user=root --password=pass --parallel=4 --stream=tar ./ | ssh root@backupserver "nc -l -p 9999 | tar x"

--user=root: MySQL数据库的用户名; --password=pass: MySQL数据库的密码; --parallel=4: 同时备份的线程数; --stream=tar: 将备份数据流输出到tar文件中; ./: 备份文件的存放目录。

4、还原备份文件到从服务器

在备份完成后,需要将备份文件复制到从服务器上,并通过Percona XtraBackup进行还原。

nc 192.168.100.11 9999 < backup.tar
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
基于云平台的即开即用、稳定可靠、灵活弹性、易于使用的关系型数据库服务

社区干货

硬核干货!一文掌握 binlog 、redo log、undo log|社区征文

MySQL 数据库执行更改的所有的写操作,包括所有对数据库的数据、结构、索引等等变更的操作。> 注意:这其中不包含 SELECT、SHOW 等,因为对数据没有修改只要是对数据库有变更的操作都会记录到 binlog 里面来,我们可以把数据库的数据看做银行账户里的余额,而 binlog 就相当于我们银行卡的流水记录。账户余额只是一个结果,至于这个结果怎么来的,那就必须得看流水了。在实际应用中, binlog 的主要应用场景分别是 **主从复制** ...

如何使用 dbdeployer 快速部署 MySQL 测试环境

# 前言在日常学习以及工作中,为了更方便的测试多个数据库版本之间的功能差异,我们会装不同版本的实例,通常使用二进制安装的大致步骤如下:1. 创建相关目录2. 初始化 MySQL3. 启动 MySQL4. 如果有配置主从的需... 如果上述安装包中没有您需要的,您可以从 MySQL 官网上进行下载,然后导入即可```shell (base) [root@ip-10-0-0-22 ~]# dbdeployer unpack /home/ec2-user/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz ```####...

如何使用 dbdeployer 快速部署 MySQL 测试环境

# 前言在日常学习以及工作中,为了更方便的测试多个数据库版本之间的功能差异,我们会装不同版本的实例,通常使用二进制安装的大致步骤如下:1. 创建相关目录2. 初始化 MySQL3. 启动 MySQL4. 如果有配置主从的需... 如果上述安装包中没有您需要的,您可以从 MySQL 官网上进行下载,然后导入即可```shell (base) [root@ip-10-0-0-22 ~]# dbdeployer unpack /home/ec2-user/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz ```###...

RDS for MySQL 复制方式说明

# 前言当前 火山引擎 RDS for MySQL 的同步方式有两种,分别为异步复制和半同步复制,下面会分析下二者的不同。# 主从复制原理主库上产生的 binlog 通过 binlog dump 线程发送给从库,从库的 IO 线程 将 binlog... 当前从库上一部分数据还没有被接收到,在故障转移之后导致数据不一致,基于此缺陷,MySQL 推出了半同步复制。### 半同步复制 - after_commitMySQL 在 5.5 中 引入了半同步复制机制,其中的关键点在于:主库在的事务...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

2核4G共享型云服务器

Intel CPU 性能可靠,不限流量,学习测试、小型网站、小程序开发推荐,性价比首选
86.00/1908.00/年
立即购买

mysql不停机不锁表主从搭建-优选内容

硬核干货!一文掌握 binlog 、redo log、undo log|社区征文
MySQL 数据库执行更改的所有的写操作,包括所有对数据库的数据、结构、索引等等变更的操作。> 注意:这其中不包含 SELECT、SHOW 等,因为对数据没有修改只要是对数据库有变更的操作都会记录到 binlog 里面来,我们可以把数据库的数据看做银行账户里的余额,而 binlog 就相当于我们银行卡的流水记录。账户余额只是一个结果,至于这个结果怎么来的,那就必须得看流水了。在实际应用中, binlog 的主要应用场景分别是 **主从复制** ...
如何使用 dbdeployer 快速部署 MySQL 测试环境
# 前言在日常学习以及工作中,为了更方便的测试多个数据库版本之间的功能差异,我们会装不同版本的实例,通常使用二进制安装的大致步骤如下:1. 创建相关目录2. 初始化 MySQL3. 启动 MySQL4. 如果有配置主从的需... 如果上述安装包中没有您需要的,您可以从 MySQL 官网上进行下载,然后导入即可```shell (base) [root@ip-10-0-0-22 ~]# dbdeployer unpack /home/ec2-user/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz ```####...
如何使用 dbdeployer 快速部署 MySQL 测试环境
# 前言在日常学习以及工作中,为了更方便的测试多个数据库版本之间的功能差异,我们会装不同版本的实例,通常使用二进制安装的大致步骤如下:1. 创建相关目录2. 初始化 MySQL3. 启动 MySQL4. 如果有配置主从的需... 如果上述安装包中没有您需要的,您可以从 MySQL 官网上进行下载,然后导入即可```shell (base) [root@ip-10-0-0-22 ~]# dbdeployer unpack /home/ec2-user/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz ```###...
RDS for MySQL 复制方式说明
# 前言当前 火山引擎 RDS for MySQL 的同步方式有两种,分别为异步复制和半同步复制,下面会分析下二者的不同。# 主从复制原理主库上产生的 binlog 通过 binlog dump 线程发送给从库,从库的 IO 线程 将 binlog... 当前从库上一部分数据还没有被接收到,在故障转移之后导致数据不一致,基于此缺陷,MySQL 推出了半同步复制。### 半同步复制 - after_commitMySQL 在 5.5 中 引入了半同步复制机制,其中的关键点在于:主库在的事务...

mysql不停机不锁表主从搭建-相关内容

RDS for MySQL 复制方式说明

# 前言当前 火山引擎 RDS for MySQL 的同步方式有两种,分别为异步复制和半同步复制,下面会分析下二者的不同。# 主从复制原理主库上产生的 binlog 通过 binlog dump 线程发送给从库,从库的 IO 线程 将 binlog 日... 当前从库上一部分数据还没有被接收到,在故障转移之后导致数据不一致,基于此缺陷,MySQL 推出了半同步复制。### 半同步复制 - after_commitMySQL 在 5.5 中 引入了半同步复制机制,其中的关键点在于:主库在的事务需...

数据迁移方案概览

云数据库 MySQL 版可通过数据库传输服务 DTS 进行结构迁移、全量数据迁移和增量数据迁移,实现不停机迁移上云。 原理图下图展示了MySQL如何使用DTS进行数据迁移的原理图: 使用优势使用范围广 适用多种实例类型:本地IDC、第三方云、ECS自建; 适用多种网络场景:公网、VPC等网络。 不停机迁移 增量迁移不影响业务连续性,实时同步变更数据,降低停机时间到分钟级别。 数据迁移流程使用DTS执行数据迁移的操作,需经历如下步骤: 准备工作...

当源库为 MySQL 时,开启 Binlog 日志,并设置参数 binlog_format 为 row,binlog_row_image 为 full 后,我该如何确保参数格式会立即生效?

您可以通过以下方式确保参数格式已生效,避免业务连接继续使用老格式写入。 在非业务时期,中断当前数据库上的所有业务连接。 说明 在本步骤结束前,请勿创建或启动迁移任务,否则将导致任务失败。 当源库在从机时,还需重置主从同步 SQL 线程。 通过 MySQL 官方客户端或其他工具登录源数据库。 执行以下命令,查询当前数据库上所有的业务连接。本步骤将显示除所有 Binlog Dump 连接和当前连接外的其他业务连接。 shell show process...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

2核4G共享型云服务器

Intel CPU 性能可靠,不限流量,学习测试、小型网站、小程序开发推荐,性价比首选
86.00/1908.00/年
立即购买

迁移至火山引擎版 MySQL

本场景介绍如何在数据库传输服务 DTS 控制台创建公网自建 MySQL 迁移至火山引擎版 MySQL 任务。 前提条件已在公网环境中自行搭建 MySQL,并创建数据库账号。 已创建云数据库 MySQL 版实例和数据库。详细信息,请参见... 源库长时间未执行 DML 操作可能会导致延迟信息不准确。如果任务显示的延迟时间过大,您可以在源库执行一个 DML 操作来更新延迟信息。 说明 当迁移对象为整库时,您可以创建心跳,心跳表每秒定期更新或写入数据。 ...

迁移至火山引擎版 veDB MySQL

本场景介绍如何在数据库传输服务 DTS 控制台创建公网自建 MySQL 迁移至火山引擎版 veDB MySQL 任务。 前提条件已在公网环境中自行搭建 MySQL,并创建数据库账号。 已创建云数据库 veDB MySQL 版实例和数据库。详细... 源库长时间未执行 DML 操作可能会导致延迟信息不准确。如果任务显示的延迟时间过大,您可以在源库执行一个 DML 操作来更新延迟信息。 说明 当迁移对象为整库时,您可以创建心跳,心跳表每秒定期更新或写入数据。 ...

迁移至火山引擎 ECS 自建 MySQL

已创建云数据库 veDB MySQL 版实例和数据库。详细信息,请参见创建 veDB MySQL 实例和创建数据库。 已在火山引擎的 ECS 中自行搭建 MySQL,并创建数据库账号。 目标端的数据库实例的接入方式选择的是火山引擎 EC... 出现源数据库部分账号不支持迁移时,需先确保业务不受这些账号的缺失而影响运行。 迁移对象非整库时,不支持 OnlineDDL 操作,且增量迁移不支持自动迁移新增的对象及其相关变更。 迁移对象选择的粒度为库或。若迁...

迁移至公网自建 MySQL

本场景介绍如何在数据库传输服务 DTS 控制台创建公网自建 MySQL 迁移至公网自建 MySQL 任务。 前提条件已在公网环境中自行搭建 MySQL,并创建数据库账号。 源端和目标端的数据库实例的接入方式选择的是公网自建时,... 源库长时间未执行 DML 操作可能会导致延迟信息不准确。如果任务显示的延迟时间过大,您可以在源库执行一个 DML 操作来更新延迟信息。 说明 当迁移对象为整库时,您可以创建心跳,心跳表每秒定期更新或写入数据。 ...

迁移至火山引擎 ECS 自建 MySQL

已在火山引擎的 ECS 中自行搭建 MySQL,并创建数据库账号。 源端和目标端的数据库实例的接入方式选择的是火山引擎 ECS 自建,且数据库实例开启了访问限制,在创建数据库传输任务前,您需要将 DTS 服务器 IP 地址(10... 出现源数据库部分账号不支持迁移时,需先确保业务不受这些账号的缺失而影响运行。 迁移对象非整库时,不支持 OnlineDDL 操作,且增量迁移不支持自动迁移新增的对象及其相关变更。 迁移对象选择的粒度为库或。若迁...

迁移至火山引擎版 MySQL

请参见预检查项(MySQL)。 注意事项由于数据库传输服务 DTS 的延迟时间是根据迁移到目标库最后一条数据的时间戳和当前时间戳对比得出,源库长时间未执行 DML 操作可能会导致延迟信息不准确。如果任务显示的延迟时间过大,您可以在源库执行一个 DML 操作来更新延迟信息。 说明 当迁移对象为整库时,您可以创建心跳,心跳表每秒定期更新或写入数据。 当目标库使用的是高权限账号时,数据库传输服务 DTS 会自动在目标端中创建数据库。...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

2核4G共享型云服务器

Intel CPU 性能可靠,不限流量,学习测试、小型网站、小程序开发推荐,性价比首选
86.00/1908.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

数据智能知识图谱
火山引擎数智化平台基于字节跳动数据平台,历时9年,基于多元、丰富场景下的数智实战经验打造而成
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询