MySQL のデータ圧縮バックアップ テクノロジ

王林
リリース: 2023-06-15 17:23:21
オリジナル
1826 人が閲覧しました

データ量が増加し続けるにつれて、データベースのバックアップはますます困難になってきます。バックアップにはデータの整合性と一貫性が必要であるだけでなく、実際のニーズを満たすバックアップ速度とバックアップ ファイル サイズも必要です。データ圧縮バックアップ技術は時代の要請に応じて登場し、データベースのバックアップには欠かせない技術手段の一つとなっています。

MySQL は現在最も人気のあるリレーショナル データベースの 1 つですが、その公式バックアップ ツール mysqldump は圧縮バックアップのニーズを満たすことができません。したがって、この記事では、Linux システム上で適切なパラメータを指定して圧縮コマンド tar および gzip を使用し、MySQL 圧縮バックアップを実現する詳細なプロセスを紹介します。

  1. 圧縮バックアップ コマンド

Linux システムでは、tar は非常に一般的に使用される圧縮コマンドです。使用方法は次のとおりです:

tar [cxtzJvfpP] [name-of-archive] [files-or-directories-to-archive]
ログイン後にコピー

このうち、各パラメータの意味は次のとおりです:

  • c: 新しいファイルの作成;
  • xx: 解凍アーカイブからのファイル;
  • t: アーカイブ内のファイル リストの一覧表示;
  • z: gzip によるファイルの圧縮/解凍;
  • j: ファイルの圧縮/解凍bzip2 経由;
  • v: ファイルの処理時にファイル名を表示します;
  • f: アーカイブ ファイル名を使用します。f の後にスペースが必要であることに注意してください;
  • p: ファイルの元の権限と属性を保持します;
  • P: 絶対パスを使用せず、相対パスを保持します;
  • name-of-archive: 圧縮ファイル名を指定します;
  • files-or-directories-to-archive: 圧縮するファイルまたはディレクトリを指定します。

ここで使用するのはパラメーター czf です。これは、新しい tar パッケージを作成し、それを gzip で圧縮し、ファイルの処理時にファイル名を表示することを意味します。具体的なコマンドは次のとおりです。

tar czf backup.tar.gz /path/to/backup/files/
ログイン後にコピー

このうち、/path/to/backup/files/ はバックアップするファイルまたはディレクトリを指定します。

  1. MySQL バックアップ コマンド

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 はバックアップ後に保存されたファイルの完全名を表します。

  1. 自動バックアップ

実際のアプリケーションでは、自動バックアップが最も一般的で信頼性の高いバックアップ方法です。 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 は日付を表します。バックティック内のコマンドは、日付情報に基づいて新しいバックアップを自動的に作成します。ファイル名。

  1. バックアップの復元

データベースを復元する必要がある場合は、次のコマンドを使用できます:

gunzip backup.sql.gz
ログイン後にコピー

バックアップ ファイルを抽出してバックアップを取得します。 .sql 形式のファイル。次に、このファイルを MySQL データベースにインポートします。

mysql -u root -p dbname < backup.sql
ログイン後にコピー

ここで、dbname は、データを復元する必要があるデータベースの名前を表します。

  1. 概要

この記事では、tar と gzip を適切なパラメータと組み合わせて使用​​し、Linux システムで MySQL バックアップを実装する詳細なプロセスを紹介します。自動バックアップにより、バックアップ管理が大幅に簡素化され、データ回復の効率と信頼性が向上し、ユーザーはデータのセキュリティをより適切に保護できます。

以上がMySQL のデータ圧縮バックアップ テクノロジの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!