一、先從RDS下載實例備份到本地mysql
下載外網和內網根據你實際的需求環境來。同個內網服務器下載就少點下載流量花費。sql
二、解壓備份文件
執行以下命令,下載數據備份文件。數據庫
wget -c '<數據備份文件外網下載地址>' -O <自定義文件名>.tar.gz
參數說明:服務器
-c:啓用斷點續傳模式。app
-O:將下載的結果保存爲指定的文件(使用URL中包含的文件名後綴 .tar.gz 或者 .xb.gz)。ide
說明:若提示顯示100%進度,則表示文件下載完成。字體
將下載的數據備份恢復到本地MySQL數據庫中,具體操做步驟以下。阿里雲
執行以下命令,解壓已下載的數據備份文件。日誌
說明:本文以自定義路徑/data/mysql/data/爲例,您能夠根據實際狀況將其替換成實際路徑。blog
目前備份集文件有2種格式,一種是 tar 壓縮包 (.tar.gz 後綴),一種是 xbstream 壓縮包 (.xb.gz後綴)
對於 tar 壓縮包(.tar.gz),使用命令:
tar -izxvf <數據備份文件名>.tar.gz -C /data/mysql/data/
對於 xbstream 壓縮包(.xb.gz),使用命令:
gzip -d -c <數據備份文件名>.xb.gz | xbstream -x -v -C /data/mysql/data/
參數說明:
-C:指定文件要解壓到的目錄。可選參數,若不指定就解壓到當前目錄。
執行以下命令,查詢解壓後生成的文件。
ls -l /data/mysql/data/
命令執行成功後,系統會返回以下結果,其中藍色字體爲生成備份文件時RDS實例所包含的數據庫。
執行以下命令,恢復解壓好的備份文件。
恢復第一步:應用日誌
innobackupex --defaults-file=/data/mysql/data/backup-my.cnf --apply-log /data/mysql/data
若系統返回以下相似結果,則說明備份文件已成功恢復到本地數據庫。
恢復成功
(注意:若和恢復第一步不是同個目錄/data/mysql/data,就要執行恢復第二步)
恢復第二步:拷貝文件到MySQL datadir
innobackupex --defaults-file=/data/mysql/data/backup-my.cnf --copy-back /data/mysql/data
提示沒有innobackupex,安裝下xtrabackup就可
yum install xtrabackup
三、相關參數加入到my.cnf並啓動MySQL操做
把/data/mysql/data/裏的backup-my.cnf
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1572864000
三項參數內容添加到/etc/my.cnf 下
執行以下命令,修改文件屬主,並肯定文件所屬爲MySQL用戶。
chown -R mysql:mysql /data/mysql/data
執行以下命令,啓動MySQL進程。
/etc/init.d/mysqld start
進入數據庫
mysql -uroot -p
密碼是你轉的數據庫的帳號密碼
若不知道密碼須要跳過密碼能夠用 skip-grant-tables 添加在[mysqld]下,重啓MySQL進去更改密碼
update user set password=password('111111') where user='root' ;
更改完畢,記得註釋掉skip-grant-tables,重啓MySQL。