爛泥:阿里雲RDS本地恢復數據

公司目前使用的數據庫是阿里雲的RDS,目前RDS的版本爲mysql5.6。以下:html

clip_p_w_picpath001

如今要求把RDS的數據,在公司內部本地進行恢復。mysql

如何把RDS在本地進行恢復呢?這個阿里雲官網給出了相關的操做教程,鏈接以下:《RDS備份文件恢復到自建數據庫》。linux

看了官網的教程,感受非常麻煩,並且也有幾個比較特殊的地方沒有點出來,下面是我對RDS本地恢復的步驟。sql

1、安裝mysql數據庫數據庫

在進行RDS本地恢復數據以前,咱們須要先在本地服務器上安裝mysql的5.6版本,由於RDS是5.6版本,因此咱們本地的mysql數據庫要與RDS版本對應。vim

rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm && yum -y install mysql-server mysqlwindows

clip_p_w_picpath002

mysql數據庫安裝完畢後,咱們如今來下載RDS備份。服務器

2、下載RDS備份socket

RDS自己是有備份,並且是能夠在RDS的管理後臺自定義備份策略,以下:ide

clip_p_w_picpath003

咱們能夠在RDS備份列表中下載已經備份好的RDS文件,以下:

clip_p_w_picpath004

經過上圖,咱們能夠很明顯的看到RDS的備份是全量備份的,並且是物理備份的。

3、解壓RDS備份文件

RDS備份文件下載完畢後,咱們須要對其進行解壓。按照阿里雲官方文檔,咱們須要下載阿里雲專門的腳本進行解壓,並且必須是在linux OS 64bit上使用。

必須說明:RDS的備份文件只能在linux OS上進行的。在windows OS上使用第三方軟件解壓的話,你會發現看不到任何的文件。

下載RDS解壓腳本,使用以下命令:

wget http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh

clip_p_w_picpath005

使用RDS解壓腳本,解壓RDS備份文件,以下:

sh rds_backup_extract.sh -f /root/hins1035007_xtra_20160220031920.tar.gz -C /data

clip_p_w_picpath006

clip_p_w_picpath007

解壓完畢後,咱們切換到/data目錄下查看RDS備份解壓的文件,以下:

clip_p_w_picpath008

經過上圖,能夠很明顯的看出,RDS是經過percona-Xtrabackup進行全量備份的。

4、修改/data目錄的全部者

RDS解壓完畢後,咱們須要修改/data目錄的全部者。以下:

chown mysql:mysql -R /data/

clip_p_w_picpath009

5、修改my.cnf配置文件

如今咱們在/data目錄下建立mysql的配置文件my.cnf,以下:

vim /data/my.cnf

[mysqld]

datadir = /data/

port = 3306

server_id = 3

socket = /data/mysqld.sock

max_allowed_packet=32M

log-error = /data/error.log

default-storage-engine=INNODB

clip_p_w_picpath010

6、啓動mysql並操做

my.cnf文件建立完畢後,咱們如今來啓動mysql。

注意:RDS備份數據庫中的root用戶是沒有密碼的,並且此時RDS備份數據庫中只有root這一個用戶。

啓動命令以下:

/usr/bin/mysqld_safe --defaults-file=/data/my.cnf &

clip_p_w_picpath011

注意:在此mysql啓動命令,是根據mysql多實例進行的,能夠查看《爛泥:mysql5.5多實例部署》。

經過上圖,咱們能夠很明顯的看出mysql已經正常啓動。如今咱們再來測試,是否能夠正常鏈接mysql。以下:

mysql -h127.0.0.1 –uroot -p

clip_p_w_picpath012

經過上圖,咱們能夠很明顯的看出mysql是能夠正常鏈接的。

如今咱們再來建立root用戶密碼,並賦予其鏈接權限。以下:

use mysql;

update user set password=password('123456') where user='root';

update user set host='%' where user='root' && host='127.0.0.1';

flush privileges;

clip_p_w_picpath013

對mysql操做完畢後,咱們如今來測試mysql客戶端。

7、客戶端鏈接mysql

mysql正常啓動後,咱們如今經過客戶端鏈接數據庫。以下:

clip_p_w_picpath014

clip_p_w_picpath015

經過上圖,咱們能夠很明顯的看到RDS數據庫已經在本地正常恢復了。

注意:在此有兩點和官方教程不同的地方須要說明:

一、沒有安裝percona-Xtrabackup數據恢復軟件進行數據恢復

二、數據庫root用戶是沒有密碼的

相關文章
相關標籤/搜索