tencent cloud

文档反馈

通过备份文件恢复实例

最后更新时间:2024-01-11 11:14:10
    MariaDB 可通过回档功能来查看历史数据,如果您需要在本地恢复您的数据库实例,可按照本文的步骤进行操作恢复历史数据。

    前提条件

    准备服务器

    如您需在本地恢复数据库实例,请确保服务器基本配置如下:
    CPU:2核或以上。
    内存:4G或以上。
    磁盘空间:必须超过数据库已用空间并留足系统所需的临时空间。
    操作系统:centos。

    准备数据库

    注意:
    请保证本地安装的数据库版本和云上数据库实例的版本保持一致。
    下文以安装 MariaDB 10.0.10 为例:
    1. 添加 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
    2. 检查配置 yum 源对应的 MariaDB 版本是否为10.0.10。
    yum makecache
    yum info MariaDB-server
    安装 MariaDB-server。
    yum install MariaDB-server
    说明:
    提示与旧版本冲突时,需要先移除之前的安装包,例如yum remove mariadb-libs

    安装辅助工具

    1. 安装 MariaDB 客户端。
    yum install MariaDB-client
    安装 LZ4 解压软件,请参见 解压备份文件和日志文件。LZ4 默认安装在mysqlagent/bin目录下,也可以将其放置在/usr/bin目录下,当环境变量引用。
    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

    下载备份

    MariaDB 控制台,单击实例 ID 进入实例管理页,在【备份与恢复】页获取备份下载地址。 下载命令示例:
    wget --content-disposition 'http://1x.2xx.0.27:8083/2/noshard1/set_1464144850_587/1464552298xxxxxxxx'

    通过备份文件恢复数据库(未加密)

    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. 连接数据库查看数据

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

    通过备份文件恢复数据库(已加密)

    数据透明加密(TDE)当前仅支持 MySQL 8.0.24 版本和香港地区 Percona 5.7 版本,后续将陆续开放。您可以通过在 MariaDB 控制台 的实例管理页的数据安全性 > 数据加密进行访问。
    开启数据加密后,暂时不支持用备份文件在本地恢复数据库实例,推荐采用 回档数据库 进行恢复
    说明:
    如需使用数据加密功能,请 提交工单 申请。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持