鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

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

    库,可以选择某个库进行备份,不指定库则表示备份所有库。如果指定库名,则备份文件不包含mysqlsysperformance_schema三个系统库,从库恢复时需要先手动初始化生成系统库。

    --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. 传输备份数据。
    1. 若需要将备份数据传输到鲲鹏从库服务器,首先在该服务器上创建相应的目录。
      1
      mkdir /data/mysql/data.bak/
      
    2. 从x86从库服务器使用scp命令将备份数据传输到鲲鹏从库服务器。
      1
      scp -r /data/mysql/data.bak/full 192.168.0.3:/data/mysql/data.bak/
      

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