公司目前使用的數據庫是阿里雲的RDS,目前RDS的版本爲mysql5.6。以下:html
如今要求把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
mysql數據庫安裝完畢後,咱們如今來下載RDS備份。服務器
2、下載RDS備份socket
RDS自己是有備份,並且是能夠在RDS的管理後臺自定義備份策略,以下:ide
咱們能夠在RDS備份列表中下載已經備份好的RDS文件,以下:
經過上圖,咱們能夠很明顯的看到RDS的備份是全量備份的,並且是物理備份的。
3、解壓RDS備份文件
RDS備份文件下載完畢後,咱們須要對其進行解壓。按照阿里雲官方文檔,咱們須要下載阿里雲專門的腳本進行解壓,並且必須是在linux OS 64bit上使用。
必須說明:RDS的備份文件只能在linux OS上進行的。在windows OS上使用第三方軟件解壓的話,你會發現看不到任何的文件。
下載RDS解壓腳本,使用以下命令:
wget http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh
使用RDS解壓腳本,解壓RDS備份文件,以下:
sh rds_backup_extract.sh -f /root/hins1035007_xtra_20160220031920.tar.gz -C /data
解壓完畢後,咱們切換到/data目錄下查看RDS備份解壓的文件,以下:
經過上圖,能夠很明顯的看出,RDS是經過percona-Xtrabackup進行全量備份的。
4、修改/data目錄的全部者
RDS解壓完畢後,咱們須要修改/data目錄的全部者。以下:
chown mysql:mysql -R /data/
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
6、啓動mysql並操做
my.cnf文件建立完畢後,咱們如今來啓動mysql。
注意:RDS備份數據庫中的root用戶是沒有密碼的,並且此時RDS備份數據庫中只有root這一個用戶。
啓動命令以下:
/usr/bin/mysqld_safe --defaults-file=/data/my.cnf &
注意:在此mysql啓動命令,是根據mysql多實例進行的,能夠查看《爛泥:mysql5.5多實例部署》。
經過上圖,咱們能夠很明顯的看出mysql已經正常啓動。如今咱們再來測試,是否能夠正常鏈接mysql。以下:
mysql -h127.0.0.1 –uroot -p
經過上圖,咱們能夠很明顯的看出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;
對mysql操做完畢後,咱們如今來測試mysql客戶端。
7、客戶端鏈接mysql
mysql正常啓動後,咱們如今經過客戶端鏈接數據庫。以下:
經過上圖,咱們能夠很明顯的看到RDS數據庫已經在本地正常恢復了。
注意:在此有兩點和官方教程不同的地方須要說明:
一、沒有安裝percona-Xtrabackup數據恢復軟件進行數據恢復
二、數據庫root用戶是沒有密碼的