docker での psql データベースのバックアップとリカバリの詳細な説明

docker での psql データベースのバックアップとリカバリの詳細な説明

1. DockerでのPostgresデータベースのバックアップ

注文:

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

説明する:

docker exec it [docker内のイメージデータベース名] pg_dumpall -c -U [ユーザー名] > [エクスポートするデータベース名]

2. Postgresデータベースのバックアップ

注文:

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

説明する:

pg_dump –host [アドレス] –port [ポート] –username [データベースユーザー名] > [エクスポートされたファイル] [データベース名]

3. ローカルに復元し、コマンドラインから直接Dockerに復元する

psql -U odoo (ユーザー名) -h localhost -p 6543 (docker によってマップされたポート) -d odoo (データベース名) -f /media/liang/_dde_data/mrp217

4. dockerでデータベースを復元する前に、古いデータベースを削除し、新しいデータベースを作成してから復元します(定期的なデータベース更新)

docker exec -it db13 bash #daockerと入力
psql -U odoo (ユーザー名) -d postgres # psqlデータベースを入力します

入力後、データベース操作を実行します。
drop databasebse odoo; # データベースを削除します
create database odoo; #新しいデータベースを作成し、dockersを終了してデータベースを復元します

4.1 別の回復、私のものはここには適用できません

pg_dump -h localhost -p 5432 -U odoo -F c -b -v -f "/usr/20200214.backup" mrp in docker、機能: docker データベースから docker にバックアップ
docker cp db_mrp_sync:/usr/20200214.backup ./ docker 外部、機能: docker から docker 外部のサーバーへ
scp xxxxxx:/home/xxx/20200214.backup D:\ リモートに接続し、ローカルの場所にインポートします
pg_restore -d <データベース名> /path/to/your/file/mrp.sql -c -U <ユーザー名>

5. テストサーバーからローカルにインポートする

scp xxxx:/home/xxx/mrp217 D:\ リモートに接続し、シェルツールをインストールせずにローカルの場所にインポートします
scp ip: テストサーバー内のバックアップファイルのパス、インポートするローカルパス

上記は123WORDPRESS.COMの編集者がまとめた内容です。お役に立てれば幸いです。

以下もご興味があるかもしれません:
  • docker 環境でのデータベース バックアップ (postgresql、mysql) のサンプル コード
  • Dockerコンテナは定期的にデータベースをバックアップし、指定されたメールボックスに送信します(設計アイデア)

<<:  Mysql ルートユーザーアカウントのパスワードをリセットする問題を解決する

>>:  Node.js の fs モジュールと Path モジュールのメソッドの詳細な説明

推薦する

MySQL 8.0 で列を素早く追加する方法

序文: MySQL 8.0 では高速な列追加がサポートされ、数秒で大きなテーブルにフィールドを追加で...

データベースを削除して逃げる?xtraback を使用して MySQL データベースをバックアップする方法

1. mysqldump バックアップ方法では論理バックアップが使用されます。最大の欠点は、バック...

ウェブ音楽プレーヤーを実現する js

この記事では、参考までに簡単なHTMLと音楽プレーヤーの制作コードを紹介します。具体的な内容は以下の...

WeChatアプレットのスクロールビューは、プルアップ時にデータの読み込みを重複させるソリューションを実装しています。

WeChat アプレットのスクロール ビューでは、プルアップして読み込むときにバグが多く発生します...

Mysqlは実行中のトランザクションを照会し、ロックを待機する方法

navicatを使用してテストと学習を行います。まず、 set autocommit = 0;を使用...

Vue2.0/3.0双方向データバインディングの実装原理の詳細説明

Vue2.0/3.0双方向データバインディングの実装原理双方向データバインディングとは、データの変更...

CentOS 7.2 に SuPHP をインストールするための詳細な手順

デフォルトでは、CentOS 7 上の PHP は apache または nobody として実行さ...

MySQL の大きなテーブルで大量のデータを一括削除する方法

質問はhttps://www.zhihu.com/question/440066129/answer...

Zabbix 監視ソリューション - 最新の公式バージョン 4.4 [推奨]

ザビックス2019/10/12 チェンシン参照するhttps://www.zabbix.com/do...

Windows Server 2008 R2 に MySQL 5.7.10 をインストールする手順

MSIインストールパッケージを使用してインストールするご使用のオペレーティング システムに応じて、対...

Linux 最速のテキスト検索ツール ripgrep (grep の最良の代替)

序文テキスト検索ツールといえば、Linux で最も便利でよく使われるツールの 1 つである grep...

Dockerイントラネット侵入FRP展開の実装プロセスの分析

1. 設定ファイルディレクトリを作成するcd /ホームディレクトリmkdir frp最終的なディレク...

Tomcat の一般的な例外と解決コードの例

弊社のプロジェクトは Java で開発され、ミドルウェアは Tomcat でした。運用中に、Tomc...

MySQL がユーザー名とパスワードの漏洩を引き起こす可能性のある Riddle の脆弱性を公開

MySQL バージョン 5.5 および 5.6 を標的とする Riddle 脆弱性により、中間者攻撃...

JavaScript における 3 つの for ループ ステートメントの使用の概要 (for、for...in、for...of)

序文JS に触れるすべての開発者は、必然的に for ループを扱うことになります。結局のところ、fo...