docker中psql數(shù)據(jù)庫備份與恢復(fù)詳解
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 #進(jìn)入daocker
psql -U odoo(用戶名)-d postgres # 進(jìn)入psql數(shù)據(jù)庫進(jìn)去之后,執(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:\ 連接遠(yuǎn)程,導(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:\ 連接遠(yuǎn)程,導(dǎo)到本地位置 未裝shell工具時(shí)
scp ip:測試服務(wù)器中備份文件的路徑 要導(dǎo)入的本地路徑
以上就是本次本站小編給大家整理的全部內(nèi)容,希望能夠幫助到大家。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。