Ⅰ 如何將阿里雲的mysql(RDS)數據備份到本地
本例以本地伺服器為 RHEL6/x64 系統,備份文件存儲路徑為/home/mysql/為例。
下載雲資料庫物理備份文件並上傳至目標伺服器。備份文件獲取方法請參見下載備份數據。如果目標伺服器可以訪問源實例,您也可以使用wget "url"下載備份文件。其中url為備份文件下載地址。
切換路徑到備份文件所在路徑。
cd /home/mysql/
解壓備份文件。
其中,filename.tar.gz為備份文件名。
tar vizxf filename.tar.gz
檢查解壓後文件包含的資料庫是否正確。
系統顯示如下,其中db0dz1rv11f44yg2、mysql和test為雲資料庫中存在的資料庫。
-rw-r--r-- 1 root root 269 Aug 19 18:15 backup-my.cnf
drwxr-xr-x 2 root root 4096 Aug 21 10:31 db0dz1rv11f44yg2
-rw-rw---- 1 root root 209715200 Aug 7 10:44 ibdata1
drwxr-xr-x 2 root root 4096 Aug 21 10:31 mysql
drwxr-xr-x 2 root root 4096 Aug 21 10:31 test
-rw-r--r-- 1 root root 10 Aug 19 18:15 xtrabackup_binary
-rw-r--r-- 1 root root 23 Aug 19 18:15 xtrabackup_binlog_info
-rw-r--r-- 1 root root 77 Aug 19 18:15 xtrabackup_checkpoints
-rw-r--r-- 1 root root 2560 Aug 19 18:15 xtrabackup_logfile
-rw-r--r-- 1 root root 72 Aug 19 18:15 xtrabackup_slave_info
cd filename/
ll
恢復數據文件。
系統顯示innobackupex: completed OK!,則數據恢復成功。
innobackupex --defaults-file=./backup-my.cnf --apply-log ./
修改配置文件。將解壓文件backup-my.cnf中的innodb_fast_checksum、innodb_page_size、innodb_log_block_size注釋掉,並且添加datadir=/home/mysql,如下所示。
# This MySQL options file was generated by innobackupex-1.5.1.
# The MySQL Server
[mysqld]
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=524288000
#innodb_fast_checksum=0
#innodb_page_size=16364
#innodb_log_block_size=512
datadir=/home/mysql/
重裝 MySQL 系統庫,取得資料庫的 root 許可權。
系統顯示如下,則 mysql 系統庫重裝成功。
Installing MySQL system table...
OK
Filling help table...
OK
rm -rf mysql
mysql_install_db --user=mysql --datadir=/home/mysql/
修改文件屬主。
chown -R mysql:mysql /home/mysql/
啟動 mysqld 進程。
mysqld_safe --defaults-file=/home/mysql/backup-my.cnf &
使用客戶端登錄資料庫。
mysql –u root –p
驗證資料庫是否完整。
系統顯示入選,則資料庫恢復成功。
+--------------------+
| Database |
+--------------------+
| information_schema |
| db0dz1rv11f44yg2 |
| mysql |
| performance_schema |
| test |
+--------------------+
show databases;