ホームページ  >  記事  >  運用・保守  >  Linux でデータベースをバックアップおよび復元する方法

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

PHPz
PHPzオリジナル
2023-07-05 12:04:434252ブラウズ

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

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

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

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

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

mysqldump -u <username> -p<password> <database_name> > <backup_file.sql>

ここで、d6025a37ea8687b5422f951f7288bdc5 はデータベースのユーザー名、cb1ebc435675187bdcfb539b370c2e37 はデータベースのパスワード、 です。 81675e86dced56d97ea20a0fabe103b7 はバックアップ ファイルのパスとファイル名です。たとえば、「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>

ここで、d6025a37ea8687b5422f951f7288bdc5 はデータベースのユーザー名、6b7267f525327f2a23dcb01791a146aa はバックアップ対象のデータベースの名前です。 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>

このうち、d6025a37ea8687b5422f951f7288bdc5 はデータベースのユーザー名です。パスワード>はデータベースのパスワードです。653d324a0a68e2998984766efd4ae65aは復元するデータベースの名前です。0d961a72f705c85f286562928e09463cはパスとファイル名です。バックアップファイルの。たとえば、バックアップ ファイル「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>

ここで、

d6025a37ea8687b5422f951f7288bdc5 はデータベースのユーザー名、6b7267f525327f2a23dcb01791a146aa は復元するデータベースの名前、1c92970fa88b6759818996c6c108bcd5 はバックアップ ファイルのパスとファイル名です。たとえば、バックアップ ファイル「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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。