在Linx中恢复云数据库MySQL的备份文件到自建数据库
2018-03-19 11:39
736 查看
云数据库MySQL版使用开源软件Percona Xtrabackup对数据库进行备份,所以您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中,本文将介绍详细的操作步骤。本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。说明:由于软件限制,目前只支持将云数据库MySQL的备份文件恢复到安装在Linux系统中的自建MySQL数据库中。但在Linux下恢复的数据文件,可以在Windows和Linux操作系统中正常使用。
操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本。若未安装,请从Percona XtraBackup官网下载。
操作系统中已安装数据备份文件解压工具rds_backup_extract.sh。若未安装,请点击下载。
获取数据备份文件下载地址,具体操作步骤如下。登录RDS管理控制台。
选择目标实例所在地域。
单击目标实例的ID,进入基本信息页面。
在左侧导航栏中,选择备份恢复,进入备份恢复页面。
选择数据备份标签页。
选择查询的时间范围,然后单击查询。
在数据备份列表中,找到要下载的数据备份,并单击其对应的下载,如下图所示。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1501083530582/%E4%B8%8B%E8%BD%BD%E6%95%B0%E6%8D%AE%E5%A4%87%E4%BB%BD.png)
在实例备份文件下载窗口,单击复制外网地址,获取数据备份文件外网下载地址,如下图所示。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1501083680218/%E5%A4%8D%E5%88%B6%E5%A4%96%E7%BD%91%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80.png)
下载数据备份文件,具体操作步骤如下。登录云服务器ECS。
执行如下命令,下载数据备份文件。
参数说明:-c:启用断点续传模式。
-O:将下载的结果保存为指定的文件(建议使用URL中包含的文件名)。说明:若提示显示100%进度,则表示文件下载完成。
将下载的数据备份恢复到本地MySQL数据库中,具体操作步骤如下。执行如下命令,解压已下载的数据备份文件。说明:本文以自定义路径
参数说明:-f:指定要解压的备份集文件。
-C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录。
执行如下命令,查询解压后生成的文件。
命令执行成功后,系统会返回如下结果,其中蓝色字体为生成备份文件时RDS实例所包含的数据库。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1500456508697/%E6%9F%A5%E7%9C%8B%E8%A7%A3%E5%8E%8B%E6%96%87%E4%BB%B6.jpg)
执行如下命令,恢复解压好的备份文件。
若系统返回如下类似结果,则说明备份文件已成功恢复到本地数据库。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1500455730336/%E6%81%A2%E5%A4%8D%E6%88%90%E5%8A%9F.jpg)
为避免版本问题,需修改backup-my.cnf参数,具体操作步骤如下。执行如下命令,以文本方式编辑backup-my.cnf文件。
执行如下命令,注释掉如下参数。
按Esc键,然后输入
执行如下命令,修改文件属主,并确定文件所属为MySQL用户。
执行如下命令,启动MySQL进程。
执行如下命令,登录MySQL数据库以验证进程启动成功。
若系统返回如下结果,进程启动成功,则说明已成功执行参数注释和修改文件属主。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1500458262047/%E5%90%AF%E5%8A%A8%E6%88%90%E5%8A%9F.jpg)
恢复完成后,表mysql.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令。
操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本。若未安装,请从Percona XtraBackup官网下载。
操作系统中已安装数据备份文件解压工具rds_backup_extract.sh。若未安装,请点击下载。
获取数据备份文件下载地址,具体操作步骤如下。登录RDS管理控制台。
选择目标实例所在地域。
单击目标实例的ID,进入基本信息页面。
在左侧导航栏中,选择备份恢复,进入备份恢复页面。
选择数据备份标签页。
选择查询的时间范围,然后单击查询。
在数据备份列表中,找到要下载的数据备份,并单击其对应的下载,如下图所示。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1501083530582/%E4%B8%8B%E8%BD%BD%E6%95%B0%E6%8D%AE%E5%A4%87%E4%BB%BD.png)
在实例备份文件下载窗口,单击复制外网地址,获取数据备份文件外网下载地址,如下图所示。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1501083680218/%E5%A4%8D%E5%88%B6%E5%A4%96%E7%BD%91%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80.png)
下载数据备份文件,具体操作步骤如下。登录云服务器ECS。
执行如下命令,下载数据备份文件。
wget -c '<数据备份文件外网下载地址>' -O <自定义文件名>.tar.gz
参数说明:-c:启用断点续传模式。
-O:将下载的结果保存为指定的文件(建议使用URL中包含的文件名)。说明:若提示显示100%进度,则表示文件下载完成。
将下载的数据备份恢复到本地MySQL数据库中,具体操作步骤如下。执行如下命令,解压已下载的数据备份文件。说明:本文以自定义路径
/home/mysql/data为例,您可以根据实际情况将其替换成实际路径。
bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /home/mysql/data
参数说明:-f:指定要解压的备份集文件。
-C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录。
执行如下命令,查询解压后生成的文件。
ls -l /home/mysql/data
命令执行成功后,系统会返回如下结果,其中蓝色字体为生成备份文件时RDS实例所包含的数据库。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1500456508697/%E6%9F%A5%E7%9C%8B%E8%A7%A3%E5%8E%8B%E6%96%87%E4%BB%B6.jpg)
执行如下命令,恢复解压好的备份文件。
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log/home/mysql/data
若系统返回如下类似结果,则说明备份文件已成功恢复到本地数据库。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1500455730336/%E6%81%A2%E5%A4%8D%E6%88%90%E5%8A%9F.jpg)
为避免版本问题,需修改backup-my.cnf参数,具体操作步骤如下。执行如下命令,以文本方式编辑backup-my.cnf文件。
vi /home/mysql/data/backup-my.cnf
执行如下命令,注释掉如下参数。
#innodb_fast_checksum
#innodb_page_size
#innodb_log_block_size
按Esc键,然后输入
:wq进行保存并关闭编辑器。
执行如下命令,修改文件属主,并确定文件所属为MySQL用户。
chown -R mysql:mysql /home/mysql/data
执行如下命令,启动MySQL进程。
mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &
执行如下命令,登录MySQL数据库以验证进程启动成功。
mysql -uroot
若系统返回如下结果,进程启动成功,则说明已成功执行参数注释和修改文件属主。
![](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/41817/cn_zh/1500458262047/%E5%90%AF%E5%8A%A8%E6%88%90%E5%8A%9F.jpg)
恢复完成后,表mysql.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令。
delete from mysql.db where user<>’root’ and char_length(user)>0;delete frommysql.tables_priv where user<>’root’ and char_length(user)>0;flush privileges;
相关文章推荐
- 恢复云数据库MySQL的备份文件到自建数据库
- RDS for MySQL 备份文件恢复到自建数据库遇到启动问题
- RDS for MySQL 备份文件恢复到自建数据库
- RDS for MySQL 备份文件恢复到自建数据库
- aliyun RDS for MySQL 备份文件恢复到自建数据库
- RDS for MySQL 备份文件恢复到自建数据库
- RDS for MySQL 备份文件恢复到自建数据库
- 阿里云RDS for MySQL 备份文件恢复到自建数据库
- aliyun云数据库MySQL的备份文件到自建数据库
- 恢复云数据库MySQL的备份文件到自建数据库
- mysql从只有一个备份文件(多个数据库的备份)中恢复数据到指定数据库
- mysql怎样利用对所有数据库进行备份的备份文件只恢复某一个数据库
- MySQL 备份和恢复策略一:直接拷贝数据库文件
- 恢复云数据库MySQL的备份文件到自建数据库
- linux下mysql的数据库备份文件*.sql从高版本mysql恢复到低版本mysql
- 系统损坏,移植Oracle(9.2.0.1)数据库(无备份数据文件进行恢复)
- oracle用控制文件旧备份恢复后数据库恢复总结
- MySQL 数据库的备份和恢复
- MySQL 数据库的备份和恢复
- 数据库的备份和恢复以及mysql账户的操作