MariaDB 可通过回档功能来查看历史数据,如果您需要在本地恢复您的数据库实例,可按照本文的步骤进行操作恢复历史数据。
前提条件
准备服务器
如您需在本地恢复数据库实例,请确保服务器基本配置如下:
CPU:2核或以上。
内存:4G或以上。
磁盘空间:必须超过数据库已用空间并留足系统所需的临时空间。
操作系统:centos。
准备数据库
说明:
请注意,本文档提供的本地安装 MariaDB 的指导仅为示意,实际安装方法可能会因您的服务器和网络配置而有所不同。以下是一些可能影响安装过程的因素:
1. 操作系统版本:
不同的操作系统和版本可能需要不同的安装步骤和命令。例如,CentOS 和 Ubuntu 的包管理器和命令有所不同。
2. 网络配置:
如果您的服务器在防火墙后面或有特定的网络限制,可能需要额外的配置来允许下载和安装 MariaDB。
3. 权限问题:
安装 MariaDB 可能需要管理员权限。如果您没有适当的权限,可能需要联系系统管理员或使用 sudo 命令。
4. 软件源和镜像:
有些用户可能需要使用特定的镜像源或软件仓库,这可能会影响安装命令和配置文件的内容。
5. 依赖关系:
安装 MariaDB 可能需要其他软件包或依赖项。如果这些依赖项未安装或版本不兼容,可能会导致安装失败。
注意:
请保证本地安装的数据库版本和云上数据库实例的版本保持一致。
下文以安装 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-amd64baseurl = http://archive.mariadb.org/mariadb-10.0.10/yum/centos6-amd64/gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=0
2. 检查配置 yum 源对应的 MariaDB 版本是否为10.0.10。
yum makecacheyum 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 lz4percona-xtrabackupyum install https://mirrors.tuna.tsinghua.edu.cn/percona/centos/7/RPMS/noarch/percona-release-0.1-3.noarch.rpmyum install percona-xtrabackup
下载备份
wget --content-disposition 'http://1x.2xx.0.27:8083/2/noshard1/set_1464144850_587/1464552298xxxxxxxx'
通过备份文件恢复数据库(未加密)
1. 进入备份文件下载目录,通过 lz4 解压冷备文件
1. 进入备份文件下载目录,通过 lz4 解压冷备文件
lz4 -d set_1464144850_587.1464552298.xtrabackup.lz4
2. 使用 xbstream 工具解压到临时目录 xtrabackuptmp
2. 使用 xbstream 工具解压到临时目录 xtrabackuptmp
mkdir xtrabackuptmp/mv set_1464144850_587.1464552298.xtrabackup xtrabackuptmp/cd xtrabackuptmp/xbstream -x < set_1464144850_587.1464552298.xtrabackup
解压完后,目录和文件内容如下:
3. 使用 innobackupex 应用日志
mkdir /root/dblogs_tmpinnobackupex --apply-log --use-memory=1G --tmpdir='/root/dblogs_tmp/' /root/xtrabackuptmp/
操作成功后,会显示
completed OK!
,如下所示:
4. 停止数据库,清空数据文件
4. 停止数据库,清空数据文件
service mysql stop
清空数据文件(数据目录、表空间目录、日志目录):
mkdir /var/lib/mysql-backupmv /var/lib/mysql/* /var/lib/mysql-backup
5. 修改数据库参数文件
修改数据库参数文件
(/etc/my.cnf.d/server.cnf)
,具体参数数值请参考解压文件中backup-my.cnf
的参数。不能直接用 backup-my.cnf 替换参数文件。[mysqld]skip-name-resolvedatadir=/var/lib/mysqlinnodb_checksum_algorithm=innodbinnodb_log_checksum_algorithm=innodbinnodb_data_file_path=ibdata1:2G:autoextendinnodb_log_files_in_group=4innodb_log_file_size=1073741824innodb_page_size=4096innodb_log_block_size=512innodb_undo_tablespaces=0
6. 使用 innobackupex 加载镜像
innobackupex --defaults-file=/etc/my.cnf --move-back /root/xtrabackuptmp/
成功后,显示
Complete OK!
,如下所示:
7. 启动数据库
chmod 777 -R /var/lib/mysqlservice start mysql
如果遇到启动失败,则需要检查错误信息,修复后再重新启动。
8. 连接数据库查看数据
数据库启动后,您可能需要通过原来的账号密码来连接数据库查看数据。
通过备份文件恢复数据库(已加密)
数据透明加密(TDE)当前仅支持 MySQL 8.0.24 版本和香港地区 Percona 5.7 版本,后续将陆续开放。您可以通过在 MariaDB 控制台 的实例管理页的数据安全性 > 数据加密进行访问。
说明: