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

從備份文件恢復到自建MySQL數據庫

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

前提條件

PolarDB MySQL版集群要求

  • 集群版本要求:

    • 當前僅PolarDB MySQL版企業版的集群版支持備份下載功能。

    • PolarDB MySQL版集群的引擎版本支持5.6、5.7、8.0.1、8.0.2。

  • 集群地域要求:

    西南1(成都)、華南3(廣州)、華北1(青島)、華北2(北京)、華東2(上海)、華北3(張家口)、華東1(杭州)、華南1(深圳)、中國香港、馬來西亞(吉隆坡)、印度尼西亞(雅加達)、日本(東京)、新加坡、美國(硅谷)、美國(弗吉尼亞)。

    說明

    其余地域將陸續上線。

  • 備份數據未加密。加密的PolarDB集群不支持下載備份。

自建MySQL數據庫要求

請確保自建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

注意事項

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

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

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

操作步驟

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

  1. 登錄PolarDB控制臺,使用下載備份文件功能將集群的備份文件轉換成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. Python腳本文件.py下載至本地或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"