ホームページ >運用・保守 >Linuxの運用と保守 >Linux でデータベースをバックアップおよび復元する方法
Linux でデータベースをバックアップおよび復元する方法
Linux オペレーティング システムでは、データベースのバックアップと復元は非常に重要なタスクです。データ損失を防ぐためでも、データベースを移行するためでも、このスキルを習得する必要があります。この記事では、Linux でデータベースをバックアップおよび復元する方法と、対応するコード例を紹介します。
1. データベースをバックアップします
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
同様に, PostgreSQL データベースをバックアップするには、pg_dump コマンドを使用できます。以下に示すように:
pg_dump -U <username> -W -Ft <database_name> -f <backup_file.tar>
ここで、d6025a37ea8687b5422f951f7288bdc5
はデータベースのユーザー名、6b7267f525327f2a23dcb01791a146aa
はバックアップ対象のデータベースの名前です。 up, < ;backup_file.tar>
は、バックアップ ファイルのパスとファイル名です。たとえば、「mydb」という名前のデータベースをバックアップするには、次のコマンドを実行します。
pg_dump -U postgres -W -Ft mydb -f /backup/mydb_backup.tar
2. データベースを復元します
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
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.tar3. データベースの定期バックアップ 定期バックアップデータベースのセキュリティと整合性を確保できます。シェル スクリプトを作成し、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 サイトの他の関連記事を参照してください。