Linux でデータベースをバックアップおよび復元する方法

PHPz
リリース: 2023-07-05 12:04:43
オリジナル
4259 人が閲覧しました

Linux でデータベースをバックアップおよび復元する方法

Linux オペレーティング システムでは、データベースのバックアップと復元は非常に重要なタスクです。データ損失を防ぐためでも、データベースを移行するためでも、このスキルを習得する必要があります。この記事では、Linux でデータベースをバックアップおよび復元する方法と、対応するコード例を紹介します。

1. データベースをバックアップします

  1. mysqldump コマンドを使用して MySQL データベースをバックアップします

MySQL は、オープン ソースのリレーショナル データベース管理システムです。 mysqldump コマンドを使用して、MySQL データベースをバックアップできます。以下に示すように:

mysqldump -u <username> -p<password> <database_name> > <backup_file.sql>
ログイン後にコピー

ここで、<username> はデータベースのユーザー名、<password> はデータベースのパスワード、 です。 <database_name&gt ; はバックアップするデータベースの名前、<backup_file.sql> はバックアップ ファイルのパスとファイル名です。たとえば、「mydb」という名前のデータベースをバックアップするには、次のコマンドを実行できます。

mysqldump -u root -p123456 mydb > /backup/mydb_backup.sql
ログイン後にコピー
  1. pg_dump コマンドを使用して PostgreSQL データベースをバックアップします

同様に, PostgreSQL データベースをバックアップするには、pg_dump コマンドを使用できます。以下に示すように:

pg_dump -U <username> -W -Ft <database_name> -f <backup_file.tar>
ログイン後にコピー

ここで、<username> はデータベースのユーザー名、<database_name> はバックアップ対象のデータベースの名前です。 up, &lt ;backup_file.tar> は、バックアップ ファイルのパスとファイル名です。たとえば、「mydb」という名前のデータベースをバックアップするには、次のコマンドを実行します。

pg_dump -U postgres -W -Ft mydb -f /backup/mydb_backup.tar
ログイン後にコピー

2. データベースを復元します

  1. MySQL データベースを復元します

To MySQL データベースを復元するには、次のコマンドを使用できます。

mysql -u <username> -p<password> <database_name> < <backup_file.sql>
ログイン後にコピー

このうち、<username> はデータベースのユーザー名です。パスワード>はデータベースのパスワードです。<データベース名>は復元するデータベースの名前です。<backup_file.sql>はパスとファイル名です。バックアップファイルの。たとえば、バックアップ ファイル「mydb_backup.sql」を「mydb」という名前のデータベースに復元するには、次のコマンドを実行します。

mysql -u root -p123456 mydb < /backup/mydb_backup.sql
ログイン後にコピー

    PostgreSQL データベースの復元
PostgreSQL データベースを復元するには、次のコマンドを使用できます。

pg_restore -U <username> -d <database_name> <backup_file.tar>
ログイン後にコピー

ここで、

<username> はデータベースのユーザー名、<database_name> は復元するデータベースの名前、 はバックアップ ファイルのパスとファイル名です。たとえば、バックアップ ファイル「mydb_backup.tar」を「mydb」という名前のデータベースに復元するには、次のコマンドを実行します。

pg_restore -U postgres -d mydb /backup/mydb_backup.tar
ログイン後にコピー

3. データベースの定期バックアップ

定期バックアップデータベースのセキュリティと整合性を確保できます。シェル スクリプトを作成し、crontab のスケジュールされたタスクを使用すると、データベースを自動的にバックアップできます。

以下は簡単なバックアップ スクリプトの例です:

#!/bin/bash

#数据库备份路径
backup_dir="/backup"
#数据库用户名
username="root"
#数据库密码
password="123456"
#需要备份的数据库名称
database_name="mydb"
#备份文件名
backup_file="${backup_dir}/${database_name}_backup_$(date +%Y%m%d%H%M%S).sql"

#执行备份命令
mysqldump -u ${username} -p${password} ${database_name} > ${backup_file}

#删除过期备份(保留最近7天的备份)
find ${backup_dir} -name "${database_name}_backup_*" -type f -mtime +7 -exec rm -f {} ;
ログイン後にコピー

上記のスクリプトをbackup.shとして保存し、実行権限を追加します。

次に、crontab を使用して、スケジュールされたタスクを追加します:

crontab -e
ログイン後にコピー

開いたファイルに、バックアップ タスクが毎日午前 2 時に実行されることを示す次のコンテンツを追加します。
0 2 * * * /bin/bash /path/to/backup.sh
ログイン後にコピー

保存して終了します。

上記の方法により、Linux 上のデータベースを簡単にバックアップおよび復元し、バックアップ タスクを定期的に実行できます。データベースのセキュリティと整合性を確保することは、データが失われないようにするための重要な対策の 1 つです。

以上がLinux でデータベースをバックアップおよび復元する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート