跳至主要內容

[ postgresl & mysql ] 指令相關

pg_dump - Dump 資料庫
pg_dump -h $host -U $user -F c -f $dump_file $db

這樣會把 $db dump 成 $dump_file

這邊參數 -F c 指定 dump 出來的格式是 custom 格式,這是 PostgreSQL 自定義的格式,也是壓縮過的格式,比較節省空間

pg_restore - Restore 資料庫
pg_restore -h $host -U $user -v -e -c -C -d template1 $dump_file

-U 是要用哪個的帳號來 restore ,這邊要注意這個帳號要有 create db 的權限,簡單一點可以直接用 superuser 的帳號來用

-v 是輸出 restore 的過程,不加會快一點

-e 是有錯誤的時候就停止 restore ,這個參數可以確保 restore 中有錯可以停下來,這樣就可以針對這個錯誤修正

-c 是在 restore 前先 clean database , clean 的方式其實就是 drop db

Restore 特定的 table
如果有時候只需要恢復某一個 table 內的資料,也可以透過 -a -t 這兩個參數來恢復特定 table 的資料,這樣可以節省恢復所需要的時間

pg_restore -h $host -U $user -v -a -t $table -d $database $dump_file
-a 指定只恢復 data

-t 指定恢復的 table

https://ianwu.tw/press/postgresql/tutorial/pg_dumo_pg_restore.html#pg-dump-dump-%E8%B3%87%E6%96%99%E5%BA%AB

備份單一資料庫
mysqldump -h hostname -u root -p database_name > backup.sql;


復原單一資料庫
# mysql -u root -p database_name < backup.sql

https://code.yidas.com/mysqldump/
分類:mysqlpostgres
由 Compete Themes 設計的 Author 佈景主題