阿里雲rds 備份和還原


阿里雲rds 備份和還原

 

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

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

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

      2.需要在本地服務器上下載一個數據庫,盡量和RDS數據庫版本保持一致。(我現在用的是5.6的版本)

      3.這里需要用到xtrabakcup工具進行數據恢復

1,下載5.6版本的數據庫

cd /usr/local/src/

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/mysql

 

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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM