如何将阿里云的mysql(RDS)数据备份到本地

如何将阿里云的mysql(RDS)数据备份到本地,第1张

本例以本地服务器为 RHEL6/x64 系统,备份文件存储路径为 /home/mysql/ 为例。

下载云数据库 物理备份文件 并上传至目标服务器。备份文件获取方法请参见 下载备份数据。如果目标服务器可以访问源实例,您也可以使用 wget "url" 下载备份文件。其中 url 为备份文件下载地址。

切换路径到备份文件所在路径。

cd /home/mysql/

解压备份文件。

其中,filename.tar.gz 为备份文件名。

tar vizxf filename.tar.gz

检查解压后文件包含的数据库是否正确。

系统显示如下,其中 db0dz1rv11f44yg2、mysql 和 test 为云数据库中存在的数据库。

-rw-r--r-- 1 root root       269 Aug 19 18:15 backup-my.cnf

drwxr-xr-x 2 root root      4096 Aug 21 10:31 db0dz1rv11f44yg2

-rw-rw---- 1 root root 209715200 Aug  7 10:44 ibdata1

drwxr-xr-x 2 root root      4096 Aug 21 10:31 mysql

drwxr-xr-x 2 root root      4096 Aug 21 10:31 test

-rw-r--r-- 1 root root        10 Aug 19 18:15 xtrabackup_binary

-rw-r--r-- 1 root root        23 Aug 19 18:15 xtrabackup_binlog_info

-rw-r--r-- 1 root root        77 Aug 19 18:15 xtrabackup_checkpoints

-rw-r--r-- 1 root root      2560 Aug 19 18:15 xtrabackup_logfile

-rw-r--r-- 1 root root        72 Aug 19 18:15 xtrabackup_slave_info

cd filename/

ll

恢复数据文件。

系统显示 innobackupex: completed OK!,则数据恢复成功。

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

修改配置文件。将解压文件 backup-my.cnf 中的 innodb_fast_checksum、innodb_page_size、innodb_log_block_size注释掉,并且添加 datadir=/home/mysql,如下所示。

# This MySQL options file was generated by innobackupex-1.5.1.

# The MySQL Server

[mysqld]

innodb_data_file_path=ibdata1:200M:autoextend

innodb_log_files_in_group=2

innodb_log_file_size=524288000

#innodb_fast_checksum=0

#innodb_page_size=16364

#innodb_log_block_size=512

datadir=/home/mysql/

重装 MySQL 系统库,取得数据库的 root 权限。

系统显示如下,则 mysql 系统库重装成功。

Installing MySQL system table...

OK

Filling help table...

OK

rm -rf mysql

mysql_install_db --user=mysql --datadir=/home/mysql/

修改文件属主。

chown -R mysql:mysql /home/mysql/

启动 mysqld 进程。

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

使用客户端登录数据库。

mysql –u root –p

验证数据库是否完整。

系统显示入选,则数据库恢复成功。

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

| Database           |

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

| information_schema |

| db0dz1rv11f44yg2   |

| mysql              |

| performance_schema |

| test               |

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

show databases

目前可采取两种方式:

第一种方式,直接对RDS实例进行库备份回滚 *** 作

第二种方式,针对备份点生成的临时实例,对临时实例进行库备份,回滚到RDS实例

第一种方式:直接对RDS实例进行库备份回滚

第一步:在云服务器(linux系统)上安装MySQL客户端工具

1)下载mysql客户端工具

执行: wget http //dev mysql com/get/archives/mysql-5.6/MySQL-client-5.6.15-1.linux_glibc2.5.x86_64.rpm

2)安装mysql客户端工具

执行:rpm -ivh MySQL-client-5.6.15-1.linux_glibc2.5.x86_64.rpm

或者您可以直接在系统内使用yum install mysql进行安装MySQL客户端。

第二步:对RDS实例执行库备份 *** 作

执行命令完成库备份:mysqldump -h xxx.mysql.aliyun.com -u xxx -P 3306 -p --opt --default-character-set=utf8 --triggers --hex-blob db_name >/tmp/db_name.sql

(点击查看全图)

输入密码后,mysqldump将进行备份 *** 作并自动完成。

检测备份生成sql文件,执行 ll xx.sql

第三步:针对RDS实例执行回滚 *** 作

根据备份文件,执行以下命令进行RDS实例回滚 *** 作

mysql -h xxxxxx.mysql.rds.aliyuncs.com -u user_name -P 3306 -p database_name

(点击查看全图)

输入密码后,将完成回滚 *** 作

第二种方式:针对备份点生成的临时实例,对临时实例进行库备份,回滚到RDS实例

第一步:在云服务器(linux系统)上安装mysql客户端工具

1)下载mysql客户端工具

执行: wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-client-5.5.32-2.linux2.6.x86_64.rpm

2)安装mysql客户端工具

执行:rpm -ivh MySQL-client-5.5.32-2.linux2.6.x86_64.rpm

第二步:在阿里云RDS控制台中创建临时实例

点击RDS控制台“备份恢复”页面,选择一个备份集创建临时实例,如下图

(点击查看全图)

每个RDS实例可以创建一个临时实例,临时实例有只读权限,并且继承备份点的帐号和密码以及内外网状态,创建成功后48个小时内有效

创建临时实例成功后,在临时实例列表中可以查看临时实例信息,如:临时实例连接字符串,端口号,访问临时实例的帐号名(创建备份点时RDS实例中存在的帐号),网络类型等等。

(点击查看全图)

第三步:针对子实例进行mysql按库备份 *** 作

执行以下命令对子实例进行库备份 *** 作

mysqldump -h xxx.mysql.aliyun.com -u xxx -P 3306 -p --opt --default-character-set=utf8 --triggers --hex-blob db_name >/tmp/db_name.sql

(点击查看全图)

输入密码后,完成子实例的备份 *** 作。

注:上图红色圈内应输入子实例的连接地址,用户名以及数据库名

第四步:针对RDS实例进行回滚 *** 作

执行以下命令对RDS实例进行回滚 *** 作

mysql-h xxxxxx.mysql.rds.aliyuncs.com -u xxxx -P 3306 -p database_name

(点击查看全图)

输入密码后,完成RDS实例的回滚 *** 作

注:上图红色圈内应输入RDS实例连接地址,用户名以及数据库名


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9988568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存