mysql と pgsql を使用してデータベースのバックアップとバックアップ操作を復元する方法


序文

仕事でデータベースの移行作業に遭遇しましたが、従来のナビゲート データ接続ツールを使用するとデータ損失などの一連の問題が発生する可能性があるため、個人的な状況に合わせて mysql および pgsql コマンドを使用して移行を実行しています。使用前に調整してください。

1. mysql はどのようにバックアップを行うのですか?

1.1、データベースをバックアップする

mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
例如:
 mysqldump -hhostname -uroot -ppwd dataname >dataname.sql

1.2、すべてのデータベースをバックアップする

mysqldump -h *.*.*.* -p -u username -p password --all-databases > /data/backup/mysql_db.sql

1.3、テーブルをバックアップする

例えば:

mysqldump -hhostname -uroot -ppwd dataname specific_tabname1 specific_tabname2> dataname_specific_tabname.sql

1.4、複数のデータベースをバックアップする

mysqldump -hhostname -uusername -ppwd --databases dbname1 dbname2 dbname3 > multibackupfile.sql

1.5. データベース構造のエクスポート

 mysqldump -hhostname -uroot -ppwd  -–add-drop-table --no-data dataname > dataname_nodata.sql

--no-data: データなし
--add-drop-table 各 create ステートメントの前に、drop table コマンドを追加します。

1.6. バックアップの圧縮

2. バックアップの圧縮

形式: mysqldump -h ホスト IP -P ポート -u ユーザー名 -p パスワード --database データベース名 | gzip > ファイル名
. 圧縮

mysqldump -h *.*.*.* -p -u username -p password --database mysql | gzip > /data/backup/mysql.sql.gz

2、mysql バックアップの復元

2.1. MySQL データベースを復元するコマンド

#database はデータベース名です

mysql -h -u ユーザー名 -p パスワード データベース < バックアップファイル.sql

2.2. 圧縮された MySQL データベースを復元する

データベースはデータベース名です

gunzip < backupfile.sql.gz | mysql -u username -p password database

2.3. データベースを新しいサーバーに転送する

データベースはデータベース名です

mysqldump -u username -p password database | mysql –host=*.*.*.* -C database

2.4. データベースのインポート

source コマンドは一般的に使用されます。特定のデータベースに入るには use を使用します。mysql>source d:\test.sql です。次のパラメータはスクリプト ファイルです。

3. pgsqlのバックアップ方法

Linuxシステムでのバックアップ(ここでは単一のデータベースを別のサーバーに移行する作業を紹介します)

-h データベースの IP アドレスに接続します
-p データベース ポート
-U データベース ユーザー
-c 再作成する前にデータベース オブジェクトをクリアします
-d データベースを指定します
-f ローカル ファイル パスへのバックアップを指定します

pg_dump -h 120.55.163.126 -p 5432 -U postgres -c -d homestead_pengze_prod -f
/ws/db-bak/homestead_pengze_prod.bak

提示:window安装的话进入pgsql的bin目录使用cmd目录执行命令

移行:
バックアップ ファイルを宛先サーバー ディレクトリ (/ws など) にコピーし、別のサーバーに同じ名前のデータベースを作成し、docker を使用して宛先サーバーに pgsql をインストールし、最初にバックアップ スクリプトをコンテナーにコピーします

docker cp homestead_pengze_prod.bak postgresql:/

コンテナに入り、次のバックアップ復元スクリプトを実行します。

docker exec -it postgresql /bin/sh

4、pgsql復元バックアップ

復元スクリプト:
-d データベースを復元する
-f バックアップ ファイル

psql -h 127.0.0.1 -p 5432 -U postgres -d homestead_pengze_prod -f
homestead_pengze_prod.bak

おすすめ

転載: blog.csdn.net/wei1359765074410/article/details/127634712
おすすめ