HHDB資料庫備份恢復
阿新 • • 發佈:2021-10-25
1 使用環境
正常執行的恆輝資料庫伺服器一臺。且已經啟動。所有命令都在資料庫安裝目錄bin目錄下執行。執行前先執行 source ../env.sh2 備份恢復命令介紹
2.1 備份命令介紹
hh_dump [選項]... [資料庫名字] 一般選項: -f, --file=FILENAME 輸出檔案或目錄名 -F, --format=c|d|t|p 輸出檔案格式 (定製, 目錄, tar 明文 (預設值)) -j, --jobs=NUM 執行多個並行任務進行備份轉儲工作 -v, --verbose 詳細模式 -V, --version 輸出版本資訊,然後退出 -Z, --compress=0-9 被壓縮格式的壓縮級別 --lock-wait-timeout=TIMEOUT 在等待表鎖超時後操作失敗 --no-sync 不用等待變化安全寫入磁碟 -?, --help 顯示此幫助, 然後退出 控制輸出內容選項: -a, --data-only 只轉儲資料,不包括模式 -b, --blobs 在轉儲中包括大物件 -B, --no-blobs 排除轉儲中的大型物件 -c, --clean 在重新建立之前,先清除(刪除)資料庫物件 -C, --create 在轉儲中包括命令,以便建立資料庫 -E, --encoding=ENCODING 轉儲以ENCODING形式編碼的資料 -n, --schema=PATTERN dump the specified schema(s) only -N, --exclude-schema=PATTERN do NOT dump the specified schema(s) -O, --no-owner 在明文格式中, 忽略恢復物件所屬者 -s, --schema-only 只轉儲模式, 不包括資料 -S, --superuser=NAME 在明文格式中使用指定的超級使用者名稱 -t, --table=PATTERN dump the specified table(s) only -T, --exclude-table=PATTERN do NOT dump the specified table(s) -x, --no-privileges 不要轉儲許可權 (grant/revoke) --binary-upgrade 只能由升級工具使用 --column-inserts 以帶有列名的INSERT命令形式轉儲資料 --disable-dollar-quoting 取消美元 (符號) 引號, 使用 SQL 標準引號 --disable-triggers 在只恢復資料的過程中禁用觸發器 --enable-row-security 啟用行安全性(只轉儲使用者能夠訪問的內容) --exclude-table-data=PATTERN do NOT dump data for the specified table(s) --extra-float-digits=NUM 覆蓋extra_float_digits的預設設定 --if-exists 當刪除物件時使用IF EXISTS --inserts 以INSERT命令,而不是COPY命令的形式轉儲資料 --load-via-partition-root 通過根表載入分割槽 --no-comments 不轉儲註釋 --no-publications 不轉儲釋出 --no-security-labels 不轉儲安全標籤的分配 --no-subscriptions 不轉儲訂閱 --no-synchronized-snapshots 在並行工作集中不使用同步快照 --no-tablespaces 不轉儲表空間分配資訊 --no-unlogged-table-data 不轉儲沒有日誌的表資料 --on-conflict-do-nothing 將ON CONFLICT DO NOTHING新增到INSERT命令 --quote-all-identifiers 所有識別符號加引號,即使不是關鍵字 --rows-per-insert=NROWS 每個插入的行數;意味著--inserts --section=SECTION 備份命名的節 (資料前, 資料, 及 資料後) --serializable-deferrable 等到備份可以無異常執行 --snapshot=SNAPSHOT 為轉儲使用給定的快照 --strict-names 要求每個表和(或)schema包括模式以匹配至少一個實體 --use-set-session-authorization 使用 SESSION AUTHORIZATION 命令代替 ALTER OWNER 命令來設定所有權 聯接選項: -d, --dbname=DBNAME 對資料庫 DBNAME備份 -h, --host=主機名 資料庫伺服器的主機名或套接字目錄 -p, --port=埠號 資料庫伺服器的埠號 -U, --username=名字 以指定的資料庫使用者聯接 -w, --no-password 永遠不提示輸入口令 -W, --password 強制口令提示 (自動) --role=ROLENAME 在轉儲前執行SET ROLE
2.2 恢復命令介紹
sql [選項]... [資料庫名稱 [使用者名稱稱]] 通用選項: -c, --command=命令 執行單一命令(SQL或內部指令)然後結束 -d, --dbname=DBNAME 指定要連線的資料庫 (預設:"hhdb") -f, --file=檔名 從檔案中執行命令然後退出 -l, --list 列出所有可用的資料庫,然後退出 -v, --set=, --variable=NAME=VALUE 設定sql變數NAME為VALUE (例如,-v ON_ERROR_STOP=1) -V, --version 輸出版本資訊, 然後退出 -X, --no-sqlrc 不讀取啟動文件(~/.sqlrc) -1 ("one"), --single-transaction 作為一個單一事務來執行命令檔案(如果是非互動型的) -?, --help[=options] 顯示此幫助,然後退出 --help=commands 列出反斜線命令,然後退出 --help=variables 列出特殊變數,然後退出 輸入和輸出選項: -a, --echo-all 顯示所有來自於指令碼的輸入 -b, --echo-errors 回顯失敗的命令 -e, --echo-queries 顯示傳送給伺服器的命令 -E, --echo-hidden 顯示內部命令產生的查詢 -L, --log-file=檔名 將會話日誌寫入檔案 -n, --no-readline 禁用增強命令列編輯功能(readline) -o, --output=FILENAME 將查詢結果寫入檔案(或 |管道) -q, --quiet 以沉默模式執行(不顯示訊息,只有查詢結果) -s, --single-step 單步模式 (確認每個查詢) -S, --single-line 單行模式 (一行就是一條 SQL 命令) 輸出格式選項 : -A, --no-align 使用非對齊表格輸出模式 --csv CSV(逗號分隔值)表輸出模式 -F, --field-separator=STRING 為欄位設定分隔符,用於不整齊的輸出(預設:"|") -H, --html HTML 表格輸出模式 -P, --pset=變數[=引數] 設定將變數列印到引數的選項(查閱 \pset 命令) -R, --record-separator=STRING 為不整齊的輸出設定字錄的分隔符(預設:換行符號) -t, --tuples-only 只打印記錄i -T, --table-attr=文字 設定 HTML 表格標記屬性(例如,寬度,邊界) -x, --expanded 開啟擴充套件表格輸出 -z, --field-separator-zero 為不整齊的輸出設定欄位分隔符為位元組0 -0, --record-separator-zero 為不整齊的輸出設定記錄分隔符為位元組0 聯接選項: -h, --host=主機名 資料庫伺服器主機或socket目錄(預設:"本地介面") -p, --port=埠 資料庫伺服器的埠(預設:"1432") -U, --username=使用者名稱 指定資料庫使用者名稱(預設:"dba") -w, --no-password 永遠不提示輸入口令 -W, --password 強制口令提示 (自動)
3 備份恢復使用說明
提示
若沒有執行source ../env.sh即沒有指定備份及恢復的資料庫連線資訊,在執行上述命令的時候需要指定連線資訊。 例如: ./hh_dump -h host -t tablename>/home/hu/table.sql
3.1 整庫備份和恢復
備份:hh_dump dbname > /home/hu/db.sql 備份資料庫dbname到/home/hu/db.sql檔案中 恢復:sql -d newdb -f /home/hu/db.sql 恢復/home/hu/db.sql檔案內容到newdb資料庫中
3.2 模式備份和恢復
備份:hh_dump -n schemaname dbname > /home/hu/sch.sql 備份dbname資料庫的schemaname模式到/home/hu/sch.sql檔案中 恢復:sql newdb -f /home/hu/sch.sql 恢復/home/hu/sch.sql檔案到newdb資料庫中
3.3 表格備份和恢復
備份:hh_dump -t tablename >/home/hu/table.sql 備份表格tablename 恢復:sql -d dbname -f /home/hu/table.sql 從/home/hu/table.sql檔案中恢復表格
恆輝關係型資料庫HHDB下載地址:https://hhdb.deskui.com/