文档中心 云数据库 MariaDB 用户指南 如何利用备份文件恢复实例

如何利用备份文件恢复实例

最近更新时间:2019-03-08 11:29:05

MariaDB(TDSQL) 可以通过回档功能来查看历史数据,如果您需要在自己的机器上进行恢复,可以按照本文档的步骤进行操作恢复历史数据。

1、准备恢复所需环境

注意:请确保使用处于同一个基础网络或私有网络的云服务器,以保障网络正常连通
基本配置建议:CPU:2核或以上;内存:4G或以上;磁盘空间:必须超过数据库已用空间;操作系统:centos最新版
基本环境需要:例如 Mariadb 10.0.10
安装过程举例:

  • 添加 yum 源

    vi /etc/yum.repos.d/mariadb-10.0.10.repo):
    # MariaDB 10.0 CentOS repository list - created 2016-05-30 02:16 UTC
    # http://downloads.mariadb.org/mariadb/repositories/
    [mariadb]
    name = MariaDB
    # baseurl = http://yum.mariadb.org/10.0/centos7-amd64
    baseurl = http://archive.mariadb.org/mariadb-10.0.10/yum/centos6-amd64/
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=0
  • 检查配置 yum 源对应的 mariadb 版本是否为 10.0.10

    yum makecache
    yum info MariaDB-server
  • 安装 MariaDB-server

    yum install MariaDB-server

    注:如果有提示和以前安装的版本冲突,您可能需要先移除以前安装的包,例如: yum remove mariadb-libs

  • 安装 mariadb 客户端

    yum install MariaDB-client
  • 安装lz4解压软件

    yum install -y lz4
    percona-xtrabackup
    yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
    yum install percona-xtrabackup

2、下载备份

首先在“腾讯云管理中心>云数据库>管理中心>备份与恢复”获取备份下载地址

下载命令示例

wget  --content-disposition 'http://169.254.0.27:8083/2/noshard1/set_1464144850_587/1464552298xxxxxxxx'

3、恢复备份文件

  • 1)进入备份文件下载目录,解压通过lz4解压冷备文件

    lz4 -d set_1464144850_587.1464552298.xtrabackup.lz4
  • 2)使用 xbstream 工具解压到临时目录 xtrabackuptmp 中

    mkdir xtrabackuptmp/
    mv set_1464144850_587.1464552298.xtrabackup xtrabackuptmp/
    xbstream -x < set_1464144850_587.1464552298.xtrabackup

    解压完后,目录和文件情况大概如下:

  • 3)应用日志
    使用innobackupex应用日志

    mkdir /root/dblogs_tmp
    innobackupex --apply-log  --use-memory=1G --tmpdir='/root/dblogs_tmp/' /root/xtrabackuptmp/

    成功操作后,会显示 completed OK!信息,如下所示:

  • 4)停止数据库,清空数据文件
    停止数据库

    service mysql stop

    清空数据文件

    mkdir /var/lib/mysql-backup
    mv /var/lib/mysql/* /var/lib/mysql-backup
  • 5)修改数据库参数文件(/etc/my.cnf.d/server.cnf),具体参数数值参考步骤解压开的 backup-my.cnf 的参数:
    注:不能直接用 backup-my.cnf 替换参数文件。

    [mysqld]
    skip-name-resolve
    datadir=/var/lib/mysql
    innodb_checksum_algorithm=innodb
    innodb_log_checksum_algorithm=innodb
    innodb_data_file_path=ibdata1:2G:autoextend
    innodb_log_files_in_group=4
    innodb_log_file_size=1073741824
    innodb_page_size=4096
    innodb_log_block_size=512
    innodb_undo_tablespaces=0
  • 6)使用 innobackupex 加载镜像

    innobackupex --defaults-file=/etc/my.cnf --move-back /root/xtrabackuptmp/

    成功后,显示 Complete OK!, 信息展示如下:

  • 7)启动数据库

    chmod 777 -R /var/lib/mysql
    service start mysql

    注:如果遇到启动失败,则需要检查错误信息,修复后再重新启动

  • 8)连接数据库查看数据
    数据库启动后,您可能需要通过原来的账号密码来连接数据库查看数据.