在CentOS 8.2中安装Percona Xtrabackup 8.0.x备份MySql

  1. 添加Percona软件库:

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

  2. 安装Percona Xtrabackup 8.0.x:

    yum install percona-xtrabackup-80

  3. 确认安装完成后,您可以使用以下命令验证Percona Xtrabackup的安装版本

    xtrabackup --version

  4. 启动备份本机或者指定服务器

    
    # 备份指定服务器节点
    xtrabackup --backup --host=192.168.0.28 --port=3306 --user=root --password=Rtx_oa_2023 --target-dir=/backup
    
    # 备份本机服务器节点
    xtrabackup --backup --user=root --password=Rtx_oa_2023 --port=3306 --target-dir=/backup

  5. 存在的问题

    1. Percona的源非常慢

      解决方法去国内其它源下载上产本地安装依赖即可.
      # 安装当前目录下的本地依赖
      yum install ./percona-xtrabackup-80-8.0.34-29.1.el7.x86_64.rpm

    2. 源仓库缺少依赖

      Error: Package: percona-xtrabackup-80-8.0.34-29.1.el7.x86_64 (/percona-xtrabackup-80-8.0.34-29.1.el7.x86_64) Requires: libev.so.4()(64bit)
      # 在其它服务器源仓库查找提供libev.so.4()(64bit)的软件包,命令行特殊符号转义
      rpm -q --whatprovides libev.so.4\(\)\(64bit\)
      
      # 下载但不安装依赖
      yumdownloader --resolve libev-4.15-7.el7.x86_64 (用过)
      yum install --downloadonly --downloaddir=/path/to/directory libev (待实践)
      
      # 下载依赖然后上传的需要的服务器执行本地yum安装即可
      yum install ./libev-4.15-7.el7.x86_64
      

  6. 通过docker安装

    # 拉取指定版本镜像
    docker pull percona/percona-xtrabackup:8.0.26
    
    # 创建一个桥接网络,以便容器能够与宿主机和其他容器通信
    docker network create myNetWork
    
    # 创建容器命令
    # 官方文档【https://docs.percona.com/percona-xtrabackup/8.0/docker.html】
    docker create --name xtrabackup --network=myNetWork percona/percona-xtrabackup:8.0.26 xtrabackup --backup --target-dir=/path/to/backup --user=root --password=Rtx_oa_2023 --host=192.168.0.28 --port=3306 --database=rtx-oa

  7. 关于全量备份纯SQL

    # 全量备份所有数据库,`--single-transaction` 确保备份过程中不会锁定表
    mysqldump --single-transaction -u root -p --all-databases > backup.sql
    
    # 恢复所有数据库备份
    mysql -u username -p < ./backup.sql
    
    # 恢复指定的备份
    mysql -u root -p rtx-oa < ./backup.sql (未验证)
    
    
    
    # 全量备份指定数据库
    mysqldump --single-transaction -u root -p --databases rtx-oa rtx-ob > backup.sql
    
    # 恢复指定的备份
    mysql -u root -p rtx-oa < ./backup.sql (未验证)
    
    

你可能感兴趣的:(centos,linux,运维)