阿里雲rds 備份和還原

阿里雲rds 備份和還原

 

轉發:https://www.cnblogs.com/lin1/p/8617764.htmlhtml

轉發:https://help.aliyun.com/knowledge_detail/41817.htmlmysql

1.阿里雲數據庫備份實例,恢復數據的時候須要將數據恢復到本地數據庫,是不能直接恢復到RDS上的。linux

      2.須要在本地服務器上下載一個數據庫,儘可能和RDS數據庫版本保持一致。(我如今用的是5.6的版本)sql

      3.這裏須要用到xtrabakcup工具進行數據恢復數據庫

1,下載5.6版本的數據庫服務器

cd /usr/local/src/app

wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz工具

2,解壓阿里雲

mv /us/local/src/mysql-5.6.36-linux-glibc2.5-x86_64  /usr/local/mysqlhtm

 

3,建立數據庫用戶

useradd -s /sbin/nologin mysql

 

3,安裝xtrabakcup工具

獲取yum源

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

安裝xtrabackup須要依賴其餘包(這裏用的是阿里雲的epel源)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

 

安裝工具

yum install percona-xtrabackup

 

 

 

 

4,登陸到阿里雲的RDS控制檯,點擊複製外網。

 

 

 

5,下載數據備份文件

wget -c '外網地址' -O /usr/local/src/db.tar.gz 

 

(若是你用的是虛擬機,可能沒法解析改外網地址。加個114的dns便可)

 

 

6,將下載的數據備份恢復到本地MySQL數據庫中

a,首先下載一個腳本

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

 

 

chmod a+x rds_backup.sh 

 

b,解壓數據文件

mkdir -p /data/mysql

 

執行命令解壓數據文件

 

./rds_backup.sh -f <數據備份文件名>.tar.gz -C /data/mysql

 

 

c,恢復解壓好的備份文件

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

 

出現如上圖,基本數據恢復完成了。

 

 

7,修改數據庫文件屬性

chown -R mysql:mysql /data/mysql 

 

 

8,爲防止數據庫版本問題,仍是須要修改/data/mysql/backup-my.cnf的配置文件,將以下配置註釋掉。

 

 

 

 

9,啓動數據庫

/usr/local/mysql/bin/mysqld_safe  --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &

 

 

10,登陸數據庫

/usr/local/mysql/bin/mysql -uroot 

 

 

 

上面基本完成數據的恢復。考慮到恢復完成後,表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;

相關文章
相關標籤/搜索