溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解docker中如何實現(xiàn)psql數(shù)據(jù)庫備份與恢復(fù)

發(fā)布時間:2020-07-21 09:11:54 來源:億速云 閱讀:335 作者:小豬 欄目:服務(wù)器

小編這次要給大家分享的是詳解docker中如何實現(xiàn)psql數(shù)據(jù)庫備份與恢復(fù),文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

1. Docker 中 Postgres數(shù)據(jù)庫備份

命令:

docker exec it db_13 pg_dumpall -c -U mrp > mrp217

解釋:

docker exec it [docker中鏡像數(shù)據(jù)庫名稱] pg_dumpall -c -U [用戶名稱] > [導(dǎo)處的數(shù)據(jù)庫名稱]

2. Postgres數(shù)據(jù)庫備份

命令:

pg_dump --host xxxxx --port 5434 --username odoo > odoo217 mrp

解釋:

pg_dump –host [地址] –port [端口] –username [數(shù)據(jù)庫的用戶名] > [導(dǎo)出的文件] [數(shù)據(jù)庫名字]

3. 在本地恢復(fù),直接通過命令行恢復(fù)到docker

psql -U odoo(用戶名) -h localhost -p 6543(docker映射出的端口) -d odoo(數(shù)據(jù)庫名) -f /media/liang/_dde_data/mrp217

4. 在恢復(fù)到docker中數(shù)據(jù)庫之前,先把舊庫刪掉,再建新庫,然后恢復(fù)(定期的數(shù)據(jù)庫更新)

docker exec -it db13 bash #進入daocker
psql -U odoo(用戶名)-d postgres # 進入psql數(shù)據(jù)庫

進去之后,執(zhí)行數(shù)據(jù)庫操作:
drop databse odoo; # 刪除數(shù)據(jù)庫
create database odoo; # 新建數(shù)據(jù)庫
退出dockers再去恢復(fù)數(shù)據(jù)庫即可

4.1 另一種恢復(fù),我的這里不適用

pg_dump -h localhost -p 5432 -U odoo -F c -b -v -f "/usr/20200214.backup" mrp docker內(nèi),作用:從docker數(shù)據(jù)庫內(nèi)備份到docker內(nèi)
docker cp db_mrp_sync:/usr/20200214.backup ./ docker外,作用:從docker導(dǎo)到docker外 服務(wù)器內(nèi)
scp xxxxxx:/home/xxx/20200214.backup D:\ 連接遠程,導(dǎo)到本地位置
pg_restore -d <數(shù)據(jù)庫名> /path/to/your/file/mrp.sql -c -U <用戶名>

5. 從測試服務(wù)器將導(dǎo)到本地

scp xxxx:/home/xxx/mrp217 D:\ 連接遠程,導(dǎo)到本地位置 未裝shell工具時
scp ip:測試服務(wù)器中備份文件的路徑 要導(dǎo)入的本地路徑

看完這篇關(guān)于詳解docker中如何實現(xiàn)psql數(shù)據(jù)庫備份與恢復(fù)的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI