参考腾讯云官方链接: 云数据库 MySQL 使用物理备份恢复数据库 - 操作指南 - 文档中心 - 腾讯云

  1. 登录 MySQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
  2. 在实例管理页面,选择备份恢复 > 数据备份列表页, 选择需要下载的备份,在操作列单击下载
  3. 在弹出的对话框,推荐您复制下载地址,并 登录到云数据库所在 VPC 下的 CVM(Linux 系统) 中,运用 wget 命令进行内网高速下载,更高效。

    说明:

    • 您也可以选择本地下载直接下载,但耗时较多。
    • wget 命令格式:wget -c '备份文件下载地址' -O 自定义文件名.xb
  1. 示例如下:
  2. wget -c 'https://mysql-database-backup-sh-1218.cos.ap-nanjing.myqcloud.com/12427%2Fmysql%2F0674-ffba-11e9-b592-70bd%2Fdata%2Fautomatic-delete%2F2019-12-03%2Fautomatic%2Fxtrabackup%2Fbk_61_156758150%2Fcdb-293fl9ya_backup_20191203000202.xb?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKzxfbLJ1%26q-sign-time%3D1575374119%3B1575417319%26q-key-time%3D1575374119%3B1575417319%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3Dba959757&response-content-disposition=attachment%3Bfilename%3D%22yuan177685_backup_20191203000202.xb%22&response-content-type=application%2Foctet-stream' -O /data/test.xb

步骤2:恢复数据

 软件准备:要安装两个软件 

(1) Percona Xtrabackup

(2) qpress

1. Percona Xtrabackup 安装步骤

 

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

2.qpress 安装步骤

到 quicklz 官网下载 qpress 工具到本地后,再将 qpress 工具上传至 Linux 云服务器

切换到上传目录后执行

tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile

3.数据解压恢复

3.1 解压 

使用如下命令将目标目录下所有以.qp结尾的文件都解压出来。

xbstream -x --parallel=2  -C /data/mysql < /data/test.xb

这里注意前面wget下载后的目录是在/data下的,注意移动文件

  • /data/mysql为之前存储备份文件的目标目录 ,您可根据实际情况替换为实际路径。
  • Percona Xtrabackup 在2.4.6及以上版本中才支持--remove-original选项。
  • xtrabackup默认在解压缩时不删除原始的压缩文件,若需解压完删除原始的压缩文件,可在上面的命令中加上--remove-original参数。 
xtrabackup --decompress --target-dir=/data/mysql

操作成功输出: 

3.2 Prepare 备份文件

备份解压出来之后,执行如下命令进行 apply log 操作。

xtrabackup --prepare  --target-dir=/data/mysql

执行后若结果中包含如下输出,则表示 prepare 成功。

prepare.png

3.3 修改配置文件

  1. 执行如下命令打开backup-my.cnf文件。

    vi /data/mysql/backup-my.cnf

    说明:

    本文以目标目录/data/mysql为例,您可以根据实际情况将其替换成实际路径。

把内容替换成这个: 

# This MySQL options file was generated by innobackupex.

# The MySQL server
[mysqld]
#innodb_checksum_algorithm=crc32
#innodb_log_checksum_algorithm=strict_crc32
innodb_data_file_path=ibdata1:12M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=536870912
#innodb_fast_checksum=false
#innodb_page_size=16384
#innodb_log_block_size=512
innodb_undo_directory=./
innodb_undo_tablespaces=0
server_id=0
#redo_log_version=1
#server_uuid=3c831218-a954-11ea-b31f-6c0b84d61f5c
#master_key_id=0

3.4 目录授权

chown -R mysql:mysql /data/mysql

3.5 停止原有的mysql服务 我这的mysql是5.7版本

systemctl status mysqld 
systemctl stop mysqld 

 启动

mysqld --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &

 登录 不用密码

mysql -uroot
 show database;

Logo

更多推荐