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

SQL備份與回滾(公測中)

DMS的SQL窗口對數(shù)據(jù)庫進行變更操作時,可能會由于誤更新、誤刪除等原因?qū)е聰?shù)據(jù)不符合預(yù)期。此時,您可以使用DMS的SQL備份與回滾功能,快速將數(shù)據(jù)恢復(fù)到變更前的狀態(tài)。

背景信息

在新交互模式下的SQL窗口進行數(shù)據(jù)變更操作時,您可選擇是否開啟備份,若出現(xiàn)誤變更的情況,可快速回滾數(shù)據(jù)。DMS為您提供了兩種備份策略:

  • 通用備份:非MySQL的關(guān)系型數(shù)據(jù)庫固定使用該備份方式,系統(tǒng)會先找出受變更影響的數(shù)據(jù)行,并生成INSERT或REPLACE INTO語句。

  • 精確備份:RDS MySQLPolarDB MySQL版RDS MariaDB及自建MySQL數(shù)據(jù)庫可使用精確備份,該方式是在通用備份能力的基礎(chǔ)上,額外支持通過Binlog實現(xiàn)SQL級備份,針對SQL影響的數(shù)據(jù)產(chǎn)生回滾腳本。

新交互模式的SQL窗口的更多信息,請參見SQL Console新交互模式下變更表數(shù)據(jù)和結(jié)構(gòu)(公測中)

SQL備份與回滾和數(shù)據(jù)追蹤的區(qū)別

SQL備份與回滾和數(shù)據(jù)追蹤功能都可以實現(xiàn)錯誤數(shù)據(jù)的回滾。兩個功能的差異如下:

對比項

數(shù)據(jù)追蹤

SQL備份與回滾

功能使用

需要提交數(shù)據(jù)追蹤工單,配置時間范圍、表名、操作類型等工單參數(shù)。

無需進行額外的工單配置。僅需在執(zhí)行SQL時,開啟備份,待獲取備份數(shù)據(jù)后,直接在SQL Console執(zhí)行即可。

回滾精確度

需要在一段時間范圍內(nèi)篩選出符合表的變更條件的SQL,再從中尋找目標。

針對MySQL數(shù)據(jù)庫可精確定位到誤操作的SQL,直接生成回滾腳本。非MySQL的關(guān)系型數(shù)據(jù)庫需要手動回滾數(shù)據(jù)。

實例的能力要求

不限制實例的能力。

實例需要具有自由操作(有5次試用次數(shù))和穩(wěn)定變更能力(不限制使用次數(shù))。

更多數(shù)據(jù)追蹤功能信息,請參見數(shù)據(jù)追蹤

前提條件

  • 使用精確備份需要滿足如下條件:

    • 數(shù)據(jù)庫類型為RDS MySQLRDS MariaDB、自建MySQL 5.6及以上版本或PolarDB MySQL版 5.6及5.7版本。

    • 數(shù)據(jù)庫已開啟Binlog,且格式為ROW。

    • 若您的數(shù)據(jù)庫為自建MySQL 8.0版本及以上,則需要給當前使用的數(shù)據(jù)庫賬號授予SESSION_VARIABLES_ADMIN權(quán)限。更多該權(quán)限信息,請參見系統(tǒng)變量權(quán)限

      例如數(shù)據(jù)庫賬號為set_session_sysvars,授權(quán)語句如下:

      GRANT SESSION_VARIABLES_ADMIN ON *.* TO set_session_sysvars;
  • SQL Server、PostgreSQL、Oracle等非MySQL的關(guān)系型數(shù)據(jù)庫(包含自建數(shù)據(jù)庫)僅支持使用通用備份。

  • 實例具有自由操作(僅5次試用次數(shù))或穩(wěn)定變更(不限制使用次數(shù))能力可使用該功能。

    說明
    • 自由操作實例僅可在5次試用次數(shù)剩余的情況下使用該功能。目前系統(tǒng)給每個租戶分配了5次試用該功能的機會。若5次試用次數(shù)用完,需要使用該功能,您可以購買穩(wěn)定變更商品。購買操作,請參見購買DMS服務(wù)

    • 暫不支持在SQL窗口對安全協(xié)同實例的數(shù)據(jù)進行備份。如需對安全協(xié)同實例的數(shù)據(jù)進行備份,請?zhí)峤粩?shù)據(jù)變更工單。

注意事項

  • 若滿足精確備份的條件,則您需要在開啟SQL備份后,在對應(yīng)數(shù)據(jù)庫的Binlog保留時長期限內(nèi),及時獲取備份數(shù)據(jù)。超過Binlog保留時長后,無法再獲取備份數(shù)據(jù)。

    說明
  • 已獲取的備份數(shù)據(jù)會由DMS托管保存30天。

  • 結(jié)構(gòu)變更不支持備份。

  • SQL備份與回滾功能目前在公測階段。如使用時遇到問題,請使用釘釘搜索釘釘群號21991247,加入釘釘群反饋。

  • 精確備份與通用備份均不支持使用無鎖數(shù)據(jù)變更。

  • 使用通用備份的數(shù)據(jù)庫不支持備份INSERT操作。

精確備份與回滾

  1. 登錄數(shù)據(jù)管理DMS 5.0
  2. 在頁面左側(cè)的數(shù)據(jù)庫實例列表區(qū)域,找到并左鍵雙擊目標數(shù)據(jù)庫名稱,進入SQL Console頁面。

    說明

    您也可以在數(shù)據(jù)庫實例列表的搜索框,輸入目標數(shù)據(jù)庫名稱,單擊搜索圖標。

  3. 輸入更新、刪除或?qū)懭氲淖兏黃QL語句,單擊執(zhí)行

  4. 開啟備份。

    變更確認面板下方的變更建議區(qū)域,打開備份開關(guān),選擇是否需要定時執(zhí)行變更SQL,再單擊直接執(zhí)行后臺異步執(zhí)行

    后臺異步執(zhí)行是通過提交工單的方式進行表數(shù)據(jù)或表結(jié)構(gòu)變更。

    image.png

  5. 回滾數(shù)據(jù)。

    1. 執(zhí)行成功后,您可在對應(yīng)執(zhí)行結(jié)果頁簽下,單擊獲取備份

    2. 在彈出的分組任務(wù)詳情頁面,再次單擊獲取備份

      您可隨時單擊刷新image.png,查看獲取備份的進展。

    3. 獲取備份成功后,單擊下載回滾腳本。該腳本將會下載至本地,格式為.zip。

    4. 打開壓縮文件中的SQL文件,復(fù)制里面的回滾SQL,粘貼至SQL Console中,并單擊執(zhí)行

    5. 變更確認面板上,選擇并單擊執(zhí)行即可。

通用備份與回滾

以在RDS PostgreSQL數(shù)據(jù)庫中操作舉例。本示例已創(chuàng)建tb_test表。

創(chuàng)建表SQL示例

-- 創(chuàng)建表
CREATE TABLE tb_test (
  id INT NOT NULL,
  name VARCHAR(50) NOT NULL,
  age INT NOT NULL,
  PRIMARY KEY (id)
);

-- 插入數(shù)據(jù)

INSERT INTO tb_test (id, name, age) VALUES
  (1, 'Apple', 25),
  (2, 'Lily', 30),
  (3, 'Lucy', 35);
  1. 登錄數(shù)據(jù)管理DMS 5.0
  2. 在頁面左側(cè)的數(shù)據(jù)庫實例列表區(qū)域,找到并左鍵雙擊目標數(shù)據(jù)庫名稱,進入SQL Console頁面。

    說明

    您也可以在數(shù)據(jù)庫實例列表的搜索框,輸入目標數(shù)據(jù)庫名稱,單擊搜索圖標。

  3. 輸入更新、刪除的變更SQL語句,單擊執(zhí)行

    更新SQL示例:UPDATE tb_test SET name='Apples' WHERE name='Lucy';

  4. 開啟備份。

    變更確認面板下方的變更建議區(qū)域開啟備份,選擇是否需要定時執(zhí)行變更SQL,再單擊直接執(zhí)行后臺異步執(zhí)行

    后臺異步執(zhí)行是通過提交工單的方式進行表數(shù)據(jù)或表結(jié)構(gòu)變更。

  5. 下載備份。

    在頁面下方的執(zhí)行結(jié)果區(qū)域,單擊下載備份。該備份將會下載至本地,格式為.zip。

  6. 在SQL窗口執(zhí)行CREATE語句,創(chuàng)建一張與原表結(jié)構(gòu)一致的臨時表tb_test_rollback 。

    SQL示例:CREATE TABLE tb_test_rollback (LIKE tb_test);

  7. 打開壓縮文件中的SQL文件,將INSERT腳本中的表名修改為臨時表名。

  8. 在SQL窗口執(zhí)行修改后的INSERT語句。

  9. 編寫UPDATE語句,將原表中的數(shù)據(jù)訂正。

    本示例的UPDATE語句如下:

    UPDATE tb_test a
    SET name = b.name
    FROM tb_test_rollback b 
    WHERE a.id = b.id;

相關(guān)文檔

在您進行了SQL備份與回滾操作后,您還可能需要查詢表中數(shù)據(jù)是否已恢復(fù)。具體操作,請參見查詢與變更表結(jié)構(gòu)