日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

RDS MySQL快照備份文件恢復到自建數據庫

您可以使用RDS MySQL的備份下載功能,將云盤實例的快照備份數據轉換成CSV文件或SQL文件導出,然后通過該文件將數據恢復到自建MySQL數據庫中。

前提條件

  • RDS實例需滿足以下條件:

    • MySQL數據庫版本:8.0、5.7(支持Serverless實例)

    • 存儲類型:ESSD云盤、通用云盤

    說明

    您可以前往實例基本信息頁面查看以上信息。

  • RDS實例未開啟TDE加密。實例中若存在加密過的表,會導致恢復過程出錯,請先對已加密的表執行解密操作

  • 請確保自建MySQL數據庫已開啟local_infile參數。

    說明
    • 查看local_infile參數狀態(ON表示已開啟):SHOW GLOBAL VARIABLES LIKE 'local_infile';

    • 開啟local_infile參數:SET GLOBAL local_infile=1;

功能限制

從下載的備份集恢復到本地MySQL數據庫時,需要注意以下限制:

  • 不支持以下二進制字段類型:BITBINARYVARBINARYTINYBLOBBLOBMEDIUMBLOBLONGBLOB

    說明

    如果備份集中包含這些字段類型,它們將會以十六進制格式進行存儲。在導入時,MySQL會將二進制字段當作字符串進行處理。此種情況下,需要手動在load data local infile命令中使用UNHEX函數將十六進制格式轉換為原始的二進制串。

  • 不支持以下空間字段類型:GEOMETRYPOINTLINESTRINGPOLYGONMULTIPOINTMULTILINESTRINGMULTIPOLYGONGEOMETRYCOLLECTION

注意事項

  • 建議RDS MySQL數據庫和自建MySQL數據庫版本保持一致。不同版本的數據庫間可能存在不兼容的特性,導致恢復失敗。

  • 在執行恢復命令前,請確保目標數據庫中不存在與備份數據中同名的數據庫和表,以防止數據沖突或數據丟失。請仔細檢查并刪除可能會產生沖突的同名數據庫和表。

  • 在進行恢復任務時,如果您因為某些原因中斷了恢復任務,可能會導致恢復數據不完整或恢復失敗,請謹慎操作。

操作步驟

本示例以RDS MySQL云盤實例的SQL文件恢復至ECS實例(CentOS 7.8 64位)的自建MySQL數據庫為例,其他環境請使用對應命令。

  1. 登錄RDS控制臺,使用下載備份功能將云盤實例的備份文件轉換成CSV文件或SQL文件,并下載到本地或ECS實例中。

  2. 在本地或ECS實例中解壓下載的備份文件,命令如下:

    tar -izxvf <壓縮包文件名>.tar.gz -C <解壓縮后的文件位置>

    本示例將名為backup.tar.gz的壓縮文件解壓縮到指定目錄/home/mysql/data中,具體請以實際文件名和目錄為準。

    tar -izxvf backup.tar.gz -C /home/mysql/data
  3. (可選)查看備份文件是否已解壓到指定位置(/home/mysql/data)。

    ls -al /home/mysql/data
  4. MySQL Python腳本文件下載至本地或ECS實例中。

  5. 對Python腳本文件restore_from_downloads.py進行授權,命令如下:

    chmod +x ./restore_from_downloads.py
  6. 將CSV文件或SQL文件恢復至自建數據庫,恢復命令如下:

    python ./restore_from_downloads.py <CSV文件或SQL文件目錄路徑> <數據庫主機> <數據庫端口> <數據庫賬號> <數據庫密碼>

    示例如下:

    python ./restore_from_downloads.py /home/mysql/data 127.0.0.1 3306 root "#Tes********"

    執行結果:

    image.png

    重要
    • 請確保自建數據庫中沒有和備份數據中同名的數據庫,否則會導致恢復失敗。

    • 如果數據庫賬號名或密碼中包含了特殊字符(例如:#、空格等),在命令行傳入參數時需要使用英文雙引號("")將密碼括起來。例如,如果數據庫密碼是#1234,則需要在命令行中傳入"#1234"

    • 如果出現類似Command 'python' not found的報錯,說明系統中沒有安裝Python或者Python命令不在系統的搜索路徑中。此時請確認您系統中安裝的Python版本以及執行Python的命令是否正確。例如,如果系統中安裝了Python3,可以使用python3 ./restore_from_downloads.py /home/mysql/data/test1.sql 127.0.0.1 3306 zhtxxxxx "#txxxxx"

相關文檔