データ量が増加し続けるにつれて、データベースのバックアップはますます困難になってきます。バックアップにはデータの整合性と一貫性が必要であるだけでなく、実際のニーズを満たすバックアップ速度とバックアップ ファイル サイズも必要です。データ圧縮バックアップ技術は時代の要請に応じて登場し、データベースのバックアップには欠かせない技術手段の一つとなっています。
MySQL は現在最も人気のあるリレーショナル データベースの 1 つですが、その公式バックアップ ツール mysqldump は圧縮バックアップのニーズを満たすことができません。したがって、この記事では、Linux システム上で適切なパラメータを指定して圧縮コマンド tar および gzip を使用し、MySQL 圧縮バックアップを実現する詳細なプロセスを紹介します。
Linux システムでは、tar は非常に一般的に使用される圧縮コマンドです。使用方法は次のとおりです:
tar [cxtzJvfpP] [name-of-archive] [files-or-directories-to-archive]
このうち、各パラメータの意味は次のとおりです:
ここで使用するのはパラメーター czf です。これは、新しい tar パッケージを作成し、それを gzip で圧縮し、ファイルの処理時にファイル名を表示することを意味します。具体的なコマンドは次のとおりです。
tar czf backup.tar.gz /path/to/backup/files/
このうち、/path/to/backup/files/ はバックアップするファイルまたはディレクトリを指定します。
MySQL をバックアップする前に、SELECT、SHOW VIEW、RELOAD、SUPER、および LOCK TABLES 権限を持つユーザーを作成する必要があります。 root ユーザーを例に挙げると、次のコマンドを使用してバックアップ ユーザーを作成できます:
CREATE USER 'backupuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT SELECT, SHOW VIEW, RELOAD, SUPER, LOCK TABLES ON *.* TO 'backupuser'@'localhost'; FLUSH PRIVILEGES;
次に、次のコマンドを使用してデータベースをバックアップできます:
mysqldump -u backupuser -p'mypassword' --single-transaction --skip-lock-tables dbname | gzip > backup.sql.gz
--single-transaction および --skip-lock-tables パラメータは、それぞれ MySQL トランザクションとテーブル ロックのバックアップ設定に対応します。 dbname はバックアップするデータベースの名前を表し、backup.sql.gz はバックアップ後に保存されたファイルの完全名を表します。
実際のアプリケーションでは、自動バックアップが最も一般的で信頼性の高いバックアップ方法です。 Linuxシステムでは、crontabコマンドを使用して定期的にバックアップコマンドを実行し、指定したディレクトリにバックアップファイルを保存できます。以下は、毎日午前 1 時にバックアップを実行する例です:
0 1 * * * tar czf /backup/dbbackup-`date +%Y-%m-%d`.tar.gz /path/to/backup/files/ && mysqldump -u backupuser -p'mypassword' --single-transaction --skip-lock-tables dbname | gzip > /backup/backup-`date +%Y-%m-%d`.sql.gz
このうち、%Y は年、%m は月、%d は日付を表します。バックティック内のコマンドは、日付情報に基づいて新しいバックアップを自動的に作成します。ファイル名。
データベースを復元する必要がある場合は、次のコマンドを使用できます:
gunzip backup.sql.gz
バックアップ ファイルを抽出してバックアップを取得します。 .sql 形式のファイル。次に、このファイルを MySQL データベースにインポートします。
mysql -u root -p dbname < backup.sql
ここで、dbname は、データを復元する必要があるデータベースの名前を表します。
この記事では、tar と gzip を適切なパラメータと組み合わせて使用し、Linux システムで MySQL バックアップを実装する詳細なプロセスを紹介します。自動バックアップにより、バックアップ管理が大幅に簡素化され、データ回復の効率と信頼性が向上し、ユーザーはデータのセキュリティをより適切に保護できます。
以上がMySQL のデータ圧縮バックアップ テクノロジの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。