云数据库 RDS

产品文档

云数据库 RDS

帮助中心 > 产品文档 > 云数据库 RDS > 将备份恢复到自建 MariaDB

将备份文件恢复到自建数据库 MariaDB

您可以将云数据库 MariaDB 实例的备份数据恢复到自建数据库中。

注意事项

  • 自建数据库版本需要和备份文件的源数据库版本一致。
  • 备份的解压软件只支持在 Linux 下执行。
  • 解压工具的系统软件依赖:tee,python 版本 >= 2.7。
  • 当前系统已经安装 percona xtrabackup >= 2.4.8 ;如果没有安装,请参考 官方手册

操作说明

  1. 安装环境依赖,见注意事项

  2. 下载备份的解压工具,点击下载,并解压,工具名 mysql_backup_extract.py,使用示例如下

    
     # 查看帮助手册
     ./mysql_backup_extract.py -h
      
      # 解压云数据库 MariaDB 实例的备份数据
      ./mysql_backup_extract.py  -v 10.2 -f ./backup.xbstream
     
  3. 下载备份文件

    markdown
     wget -c '<数据备份下载地址>' -O <自定义备份文件名>.xbstream
    
     -c:启动断点续传
     -O:将下载的结果保存为指定的文件,注意文件的后者必须是 .xbstream
    

4. 解压备份数据,解压后的文件会保存在当前目录的子目录 tmp_snapshot 中,假设当前目录为 $HOME。

<pre>[karsa]markdown
./mysql_backup_extract.py -v 10.2 -f &lt;自定义备份文件名&gt;.xbstream

-v 参数必须指定,具体 -v 后面可以跟什么变量可以通过 -h 查看帮助手册得知。

5. 恢复解压好的备份文件

<pre>[karsa]markdown
innobackupex --defaults-file=$HOME/tmp_snapshot/backup-my.cnf --apply-log $HOME/tmp_snapshot

当看到 innobackupex completed OK! 时, 表明执行成功,你就可以继续下一步操作了。

  1. 修改配置文件 backup-my.cnf

    
     # The MySQL server
     [mysqld]
     innodb_checksum_algorithm=innodb
     #innodb_log_checksum_algorithm=strict_crc32
     innodb_data_file_path=ibdata1:512M;ibdata2:512M:autoextend
     innodb_log_files_in_group=3
     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
     #redo_log_version=1
     
  2. 修改文件属主,并确定文件所属为 MySQL 用户

    markdown
     chown -R mysql:mysql $HOME/tmp_snapshot
    

8. 启动 MariaDB 进程

<pre>[karsa]markdown
mysqld --defaults-file=/export/tmp_snapshot/backup-my.cnf --user=mysql --datadir=/export/tmp_snapshot

9. 登录 MariaDB 数据库

<pre>[karsa]markdown
mysql -uroot -p

  • 密码默认为空, 直接回车即可。
更新时间:2021-08-04 20:06:59
文档反馈 docs feedback