千家信息网

恢复云数据库MySQL的备份文件到自建数据库

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,前提条件:本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本请从Percon
千家信息网最后更新 2026年11月01日恢复云数据库MySQL的备份文件到自建数据库

前提条件:

本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。

操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本

请从Percona XtraBackup官网下载:https://www.percona.com/downloads/XtraBackup/LATEST/

percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm 是rpm包安装快速

# yum localinstall percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm

操作系统中已安装数据备份文件解压工具rds_backup_extract.sh

下载地址:http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh?spm=a2c4g.11186623.2.6.Ng5QVG&file=rds_backup_extract.sh


操作步骤:

在阿里云RDS管理控制台,在数据备份列表中,找到要下载的数据备份,并单击其对应的下载。

具体操作步骤如下:

执行如下命令,下载数据备份文件

wget -c '<数据备份文件外网下载地址>' -O <自定义文件名>.tar.gz

-c:启用断点续传模式。

-O:将下载的结果保存为指定的文件(建议使用URL中包含的文件名)。

将下载的数据备份恢复到本地MySQL数据库中,具体操作步骤如下:

执行如下命令,解压已下载的数据备份文件。


说明:本文以自定义路径/home/mysql/data为例,您可以根据实际情况将其替换成实际路径。


1.bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /home/mysql/data

-f:指定要解压的备份集文件。

C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录


# bash rds_backup_extract.sh -f hins2642811_data_20180227013214.tar.gz -C data

2.执行如下命令,查询解压后生成的文件。

# ls -l data/


3.执行如下命令,恢复解压好的备份文件。

innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data

# innobackupex --defaults-file=data/backup-my.cnf --apply-log data


4.为避免版本问题,需修改backup-my.cnf参数,具体操作步骤如下。

执行如下命令,以文本方式编辑backup-my.cnf文件。

# vi /home/mysql/data/backup-my.cnf

执行如下命令,注释掉如下参数。

#innodb_fast_checksum

#innodb_page_size

#innodb_log_block_size

如果报错这两个也注释

# innodb_checksum_algorithm=innodb

# innodb_log_checksum_algorithm=innodb

# innodb_undo_directory=.

# innodb_undo_tablespaces=0

# rds_encrypt_data=false

# innodb_encrypt_algorithm=aes_128_ecb

按Esc键,然后输入:wq进行保存并关闭编辑器。

=============================================================

安装mysql-server

下载地址:https://dev.mysql.com/downloads/mysql/

mysql 5.6 下载地址:

https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-server-5.6.39-1.el6.x86_64.rpm

mysql 5.7 下载地址:

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.21-1.el6.x86_64.rpm

这个版本是: Server version: 5.1.73

# yum -y install mysql-server mysql-develop mysql


升级mysql版本:

# yum -y remove mysql-server mysql-develop mysql

# yum localinstall MySQL-server-5.6.39-1.el6.x86_64.rpm

报错:file /usr/share/mysql/charsets/dec8.xml from install of MySQL-server-5.6.39-1.el6.x86_64

conflicts with file from package mysql-libs-5.1.73-8.el6_8.x86_64

看到"conflicts",是产生冲突了,文件"/usr/share/mysql/charsets/*"

需要MySQL-server-5.6.19-1.linux_glibc2.5.x86_64版本的,而系统已经存在mysql-libs-5.1.73-8.el6_8.x86_64版本的!

解决办法:

执行以下命令,删除mysql-libs-5.1.73-8.el6_8.x86_64:

# yum -y remove mysql-libs-5.1.73*


再执行以下命令安装MySQL:

# yum localinstall MySQL-server-5.6.39-1.el6.x86_64.rpm

安装成功了。

安装mysql客户端:

下载地址:https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-client-5.6.39-1.el6.x86_64.rpm

# yum -y localinstall MySQL-client-5.6.39-1.el6.x86_64.rpm

=============================================================

5.执行如下命令,修改文件属主,并确定文件所属为MySQL用户。

chown -R mysql:mysql /home/mysql/data

# chown -R mysql:mysql data

6.执行如下命令,启动MySQL进程。

mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &

# mysqld_safe --defaults-file=/opt/data/backup-my.cnf --user=mysql --datadir=/opt/data &


7.执行如下命令,登录MySQL数据库以验证进程启动成功。

mysql -uroot

8.恢复完成后,表mysql.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令

delete from mysql.db where user<>'root' and char_length(user)>0;

delete from mysql.tables_priv where user<>'root' and char_length(user)>0;

flush privileges;

9.创建用户:

报错:mysql> grant all on *.* to xiaoyeyun@"%" identified by "xiaoyeyun";

ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found

42. Created with MySQL 50518, now running 50639.

Please use mysql_upgrade to fix this error.


按照问题描述执行修复:

mysql_upgrade mysql -h 192.168.1.2 -u xxx -p

# mysql_upgrade mysql

创建用户成功。

mysql> grant all on *.* to xiaoyeyun@"%" identified by "xiaoyeyun";

Query OK, 0 rows affected (0.00 sec)


mysql> select user,host from mysql.user;

+-----------+-----------+

| user | host |

+-----------+-----------+

| xiaoyeyun | % |

| root | 127.0.0.1 |

| root | ::1 |

| root | localhost |

+-----------+-----------+

4 rows in set (0.00 sec)


mysql>




文件 命令 数据 备份 版本 数据备份 地址 用户 数据库 步骤 系统 成功 参数 操作系统 实际 工具 注释 目录 路径 进程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 西安纸贵互联网科技有限公司 互联网科技行业发展 互联网科技战争 互联网 卓越科技 苏州互联网科技贷款公司 四个字互联网科技公司取名 互联网科技股午盘股票涨跌 老年人脱离互联网科技的作文 阿里互联网科技公司 崇明区互联网教育科技售后服务 互联网与医疗科技 互联网科技和信息 深圳艾果互联网通讯科技 晋城互联网科技 烟台灵鸽互联网科技有限公司 工业互联网科技成果转化 南京一网一红互联网科技有限公司 上海万顺科技互联网有限公司招聘 科技信息时代互联网发展 互联网科技有限公司图片 远信互联网科技 互联网科技排名 互联网金融 科技创新 中国互联网有什么科技含量 贵州叶脉互联网科技有限公司所属行业 内蒙古九一互联网科技 徐州市互联网科技有限公司 上海乐五互联网科技有限公司 昆明中奇联合互联网科技
0