华为云mysql qb文件恢复到本地-参考华为云官方文档

https://support.huaweicloud.com/usermanual-rds/rds_08_0044.html

主要通过这个教程进行操作的
其中XtraBackup没有找到下载的路径,网上重新找个下载的

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm --nodeps --force

恢复过程中注意版本号,最好是同一版本的,此时用docker起服务是最好的,方便

docker run -itd --name mysql -p 3306:3306 --privileged=true --restart always -e MYSQL_ROOT_PASSWORD=test123 -v /workspace/mysql/data:/var/lib/mysql mysql:8.0.21 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower_case_table_names=1

服务启动完成以后可能出现无法登录的情况,改密码、连接限制等

#安装vim,便于编辑my.cnf
apt update
apt-get install vim

#如果出现不能登录的情况,编辑my.cnf 修改 /etc/my.cnf 在 [mysqld] 区域添加配置,设置免密登录
skip-grant-tables
#完了重启下容器
mysql -u root -p
select host from user where user='root';
##如果没法更新,先flush再alter,更新完成后再重启容器
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Lets@2021';
flush privileges;


操作场景

您可根据业务需要,参考下载全量备份文件,并通过备份文件进行本地存储备份或者恢复数据。

备份文件不支持恢复到本地为Windows操作系统的数据库。

由于开源备份工具(XtraBackup)目前仅支持x86包,不支持ARM,因此ARM的ECS自建库不能根据本章操作进行备份文件恢复,推荐您可以使用DRS迁移或数据导出导入的方式,具体请参见数据库迁移。

前提条件

通过下载备份文件恢复数据到自建MySQL,请确保恢复目标MySQL版本不低于备份源RDS for MySQL版本。

恢复数据过程中,您可通过命令查看任务进程:

ps -ef | grep mysql

操作步骤
  1. 下载qpress程序,并上传到ECS进行安装。

    在网站下载文件“qpress-11-linux.x64.tar”, 并上传到ECS上。

    tar -xvf qpress-11-linux-x64.tar

    mv qpress /usr/bin/

  2. 下载XtraBackup软件,并上传到ECS进行安装。

须知:

  • 对于MySQL 5.6和5.7,请下载XtraBackup 2.4.9及其以上版本。
  • 对于MySQL 8.0,请下载XtraBackup 8.0及其以上版本。

在网站下载XtraBackup,并上传到ECS上,下面以下载“percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm”为例。

rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm –nodeps --force

  1. 在ECS上解压下载好的全备文件。
    1. 创建一个临时目录,下面以mysqlbackup为例。

      mkdir mysqlbackup

    2. 解压文件。

      • 5.6和5.7版本执行:

        xbstream -x -p 4 < ./全备文件.qp -C ./mysqlbackup/

        innobackupex --parallel 4 --decompress ./mysqlbackup

      • 8.0版本执行:

        xbstream -x -p 4 < ./全备文件.qp -C ./mysqlbackup/

        xtrabackup --parallel 4 --decompress --target-dir=./mysqlbackup

    3. 删除“.qp”备份文件。

      find ./mysqlbackup/ -name '.qp’* | xargs rm -f

  2. 应用日志。
    • 5.6和5.7版本执行:innobackupex --apply-log ./mysqlbackup
    • 8.0版本执行:xtrabackup --prepare --target-dir=./mysqlbackup
  3. 备份数据。
    1. 停止MySQL数据库服务。

      service mysql stop

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-siF9hvSp-1656660441056)(https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/china/zh-cn/support/resource/framework/v3/images/support-doc-new-note.svg)]

说明:

如果是MySQL5.7, 需执行如下命令停止MySQL数据库服务:

/bin/systemctl stop mysqld.service

  1. 备份原来的数据库目录。

    mv /var/lib/mysql/data /var/lib/mysql_/data_bak_

  2. 创建新的数据库目录并修改目录权限。

    mkdir /var/lib/mysql/data

    chown mysql:mysql /var/lib/mysql/data

  3. 拷贝全备文件,并修改目录权限。

    • 5.6和5.7版本执行:innobackupex --defaults-file=/etc/my.cnf --copy-back ./mysqlbackup
    • 8.0版本执行:xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=./mysqlbackup

    chown -R mysql:mysql /var/lib/mysql/data

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SIIkuoIR-1656660441058)(https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/china/zh-cn/support/resource/framework/v3/images/support-doc-new-note.svg)]

说明:

执行本步骤前,需要确保my.cnf配置正确。

/etc/my.cnf

datadir=/var/lib/mysql/data

  1. 启动数据库。

    service mysql start

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C28zm8TD-1656660441059)(https://res-static.hc-cdn.cn/aem/content/dam/cloudbu-site/archive/china/zh-cn/support/resource/framework/v3/images/support-doc-new-note.svg)]

说明:

如果是MySQL5.7, 需执行如下命令启动数据库:

/bin/systemctl start mysqld.service

  1. 登录数据库,查看数据恢复结果。

    mysql -u root

    show databases

    图1 查看数据恢复结果

    华为云mysql qb文件恢复到本地-参考华为云官方文档_第1张图片

你可能感兴趣的:(华为云,华为云,mysql,数据库)