---
title: x86节点全量备份
description: "在已部署MySQL主从复制的x86从库节点上进行MySQL的全量备份，包括备份前准备、执行备份、检查备份一致性以及将备份数据传输到另一台鲲鹏从库服务器。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengdbs_mysql_bestpractices_21_0012.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengdbs_mysql_bestpractices_21_0012.html
indexId: ae678092f695391583aaa1f2d50a7077da7ab020c8128c97f2b3051a9987964c87
---
# x86节点全量备份

在已部署MySQL主从复制的x86从库节点上进行MySQL的全量备份，包括备份前准备、执行备份、检查备份一致性以及将备份数据传输到另一台鲲鹏从库服务器。

若MySQL为主从复制部署，则可以在任意从库进行MySQL的全量备份；若MySQL为单机部署，则建议在服务器空闲时进行MySQL的全量备份。本文以MySQL主从复制场景下的从库备份为例进行说明。

1. 在x86从库服务器上创建一个用于存放备份数据的目录。
  1 mkdir -p /data/mysql/data.bak/full

2. 确认x86从库MySQL服务为开启状态。
  可以通过以下命令检查mysqld进程是否存在。

  1 ps -ef | grep mysqld

  预期结果：能看到mysqld进程即MySQL服务为开启状态。

  如果找不到mysqld进程，需要启动MySQL服务。启动MySQL服务的操作步骤请参见3。

3. 修改系统允许打开文件数目的上限。
  1 ulimit -n 10240

  由于数据库文件可能较多，备份过程中可能会达到系统允许打开的文件数上限。因此建议临时提高这一限制。

4. 在x86从库执行全量备份。
  1 /home/percona-xtrabackup-8.0.35-30-Linux-x86_64.glibc2.17/bin/xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --socket=/data/mysql/run/mysql.sock --backup --target-dir=/data/mysql/data.bak/full

  上述Percona XtraBackup命令行的参数说明如表1所示。

**表1 Percona XtraBackup命令行参数说明**

| 参数 | 说明 |
| --- | --- |
| \-\-defaults\-file | 数据库默认配置文件路径。 |
| \-\-user | 用户，可选root或注册专用于备份操作的用户。 |
| \-\-password | 数据库密码。 |
| \-\-databases | 库，可以选择某个库进行备份，不指定库则表示备份所有库。如果指定库名，则备份文件不包含mysql、sys和performance\_schema三个系统库，从库恢复时需要先手动初始化生成系统库。 |
| \-\-backup | \-\-action的操作选项，“action”可选backup备份、prepare准备、copy\-back/move\-back恢复等。 |
| \-\-target\-dir | 输出备份文件的路径。 |
| \-\-datadir | 配合\-\-copy\-back使用，恢复数据时指定数据库的data目录。 |


  预期结果：

5. 检查备份一致性。
  备份完成后，需要通过xtrabackup --prepare命令校验备份数据的一致性，确保备份日志文件与当前数据库日志文件一致。

  在x86从库执行下述命令。

  1 /home/percona-xtrabackup-8.0.35-30-Linux-x86_64.glibc2.17/bin/xtrabackup --prepare --target-dir=/data/mysql/data.bak/full

  预期结果：

  如果发现备份数据与数据库的最新数据不一致，建议重新执行备份操作。

6. 传输备份数据。

  a. 若需要将备份数据传输到鲲鹏从库服务器，首先在该服务器上创建相应的目录。
    1 mkdir /data/mysql/data.bak/

  b. 从x86从库服务器使用scp命令将备份数据传输到鲲鹏从库服务器。
    1 scp -r /data/mysql/data.bak/full 192.168.0.3:/data/mysql/data.bak/

    192.168.0.3为从库2（鲲鹏从库）服务器的IP地址，请根据实际情况修改。
