閱讀865 返回首頁    go iPhone_iPad_Mac_手機_平板_蘋果apple


遷移 RDS for MySQL 數據到本地 MySQL__數據遷移_用戶指南_雲數據庫 RDS 版-阿裏雲

阿裏雲數據庫 MySQL 版支持通過物理備份文件和邏輯備份文件兩種途徑將雲上數據遷移到本地數據庫。

利用物理備份文件導出

背景信息

因為軟件限製,目前數據恢複隻支持在 Linux 係統下進行。如果您要恢複數據到 Windows 係統,可以先將數據恢複到 Linux 係統下,再將數據遷移到 Windows 係統。

前提條件

阿裏雲數據庫使用開源軟件 Xtrabackup 2.0.6 對 MySQL 數據庫進行全量物理備份。用戶需要下載該軟件,並使用該軟件進行數據恢複。Xtrabackup 官方網站為:https://www.percona.com/,請下載與您操作係統版本對應的 Xtrabackup 版本。例如:下載 RHEL6/x86_64 版本,並使用 rpm 命令進行安裝。

  1. sudo rpm -ivh percona-xtrabackup-2.0.6-521.rhel6.x86_64.rpm

操作步驟

本例以本地服務器為 RHEL6/x64 係統,備份文件存儲路徑為 /home/mysql/ 為例。

  1. 下載雲數據庫 物理備份文件 並上傳至目標服務器。備份文件獲取方法請參見 下載備份數據。如果目標服務器可以訪問源實例,您也可以使用 wegt "url" 下載備份文件。其中 url 為備份文件下載地址。
  2. 切換路徑到備份文件所在路徑。
    1. cd /home/mysql/
  3. 解壓備份文件。
    1. tar vizxf filename.tar.gz
    其中,filename.tar.gz 為備份文件名。
  4. 檢查解壓後文件包含的數據庫是否正確。
    1. cd filename/
    2. ll
    係統顯示如下,其中 db0dz1rv11f44yg2mysqltest 為雲數據庫中存在的數據庫。
    1. -rw-r--r-- 1 root root 269 Aug 19 18:15 backup-my.cnf
    2. drwxr-xr-x 2 root root 4096 Aug 21 10:31 db0dz1rv11f44yg2
    3. -rw-rw---- 1 root root 209715200 Aug 7 10:44 ibdata1
    4. drwxr-xr-x 2 root root 4096 Aug 21 10:31 mysql
    5. drwxr-xr-x 2 root root 4096 Aug 21 10:31 test
    6. -rw-r--r-- 1 root root 10 Aug 19 18:15 xtrabackup_binary
    7. -rw-r--r-- 1 root root 23 Aug 19 18:15 xtrabackup_binlog_info
    8. -rw-r--r-- 1 root root 77 Aug 19 18:15 xtrabackup_checkpoints
    9. -rw-r--r-- 1 root root 2560 Aug 19 18:15 xtrabackup_logfile
    10. -rw-r--r-- 1 root root 72 Aug 19 18:15 xtrabackup_slave_info
  5. 恢複數據文件。
    1. innobackupex --defaults-file=./backup-my.cnf --apply-log ./
    係統顯示 innobackupex: completed OK!,則數據恢複成功。
  6. 修改配置文件。將解壓文件 backup-my.cnf 中的 innodb_fast_checksuminnodb_page_sizeinnodb_log_block_size 注釋掉,並且添加 datadir=/home/mysql,如下所示。

    1. # This MySQL options file was generated by innobackupex-1.5.1.
    2. # The MySQL Server
    3. [mysqld]
    4. innodb_data_file_path=ibdata1:200M:autoextend
    5. innodb_log_files_in_group=2
    6. innodb_log_file_size=524288000
    7. #innodb_fast_checksum=0
    8. #innodb_page_size=16364
    9. #innodb_log_block_size=512
    10. datadir=/home/mysql/
  7. 重裝 MySQL 係統庫,取得數據庫的 root 權限。
    1. rm -rf mysql
    2. mysql_install_db --user=mysql --datadir=/home/mysql/
    係統顯示如下,則 mysql 係統庫重裝成功。
    1. Installing MySQL system table...
    2. OK
    3. Filling help table...
    4. OK
  8. 修改文件屬主。
    1. chown -R mysql:mysql /home/mysql/
  9. 啟動 mysqld 進程。
    1. mysqld_safe --defaults-file=/home/mysql/backup-my.cnf &
  10. 使用客戶端登錄數據庫。
    1. mysql –u root –p
  11. 驗證數據庫是否完整。
    1. show databases;
    係統顯示入選,則數據庫恢複成功。
    1. +--------------------+
    2. | Database |
    3. +--------------------+
    4. | information_schema |
    5. | db0dz1rv11f44yg2 |
    6. | mysql |
    7. | performance_schema |
    8. | test |
    9. +--------------------+

利用邏輯備份文件導出

本例以本地服務器為 RHEL6/x64 係統,備份文件存儲路徑為 /home/mysql/ 為例。

操作步驟

  1. 下載雲數據庫 邏輯備份文件 並上傳至目標服務器。備份文件獲取方法請參見 下載備份數據。如果目標服務器可以訪問源實例,您也可以使用 wegt "url" 下載備份文件。其中 url 為備份文件下載地址。
  2. 切換路徑到備份文件所在路徑。
    1. cd /home/mysql/
  3. 解壓備份文件。
    1. tar vizxf filename.tar.gz
    其中,filename.tar.gz 為備份文件名。
  4. 解壓 sql 壓縮文件。
    1. gunzip filename.sql.gz
    其中,filename.sql.gz 為 sql 壓縮文件名。
  5. 執行邏輯導入操作,將數據導入目標數據庫。
    1. mysql -u userName -p -h hostName -P port dbName < filename.sql
    其中,filename.sql 為解壓後的 sql 文件。

最後更新:2016-11-23 16:03:53

  上一篇:go 遷移 RDS 數據到其他實例__數據遷移_用戶指南_雲數據庫 RDS 版-阿裏雲
  下一篇:go 遷移 RDS for SQL Server 數據到本地 SQL Server__數據遷移_用戶指南_雲數據庫 RDS 版-阿裏雲