【非推奨】MariaDBの「BACKUP TABLE」徹底解説!代替方法で安全確実にバックアップ


BACKUP TABLE は、MariaDB 5.1 以前で使用されていた古いバックアップ方法です。現在、MariaDB では mysqldump コマンドや mariadbbackup ツールを使う方が一般的で、BACKUP TABLE は非推奨となっています。

非推奨の理由

  • トランザクションの一貫性を保てない可能性がある
  • インクリメンタルバックアップや圧縮などの機能がない
  • mysqldumpmariadbbackup よりも低速

代替手段

MariaDB でテーブルをバックアップするには、以下の方法が推奨されています。

  • mariadbbackup ツール
    より高度なバックアップ機能を提供します。インクリメンタルバックアップ、圧縮、暗号化などが可能です。
  • mysqldump コマンド
    標準的なバックアップツールです。テーブルのダンプファイルを作成し、必要に応じてリストアできます。

もしどうしても BACKUP TABLE を使う必要がある場合は、以下の点に注意してください。

  • BACKUP TABLE で作成したバックアップファイルをリストアするには、RESTORE TABLE コマンドを使用する必要があります。
  • BACKUP TABLE はバイナリ形式でファイルを生成するため、テキストエディタで編集することはできません。
  • BACKUP TABLE はトランザクションの一貫性を保てない可能性があるため、バックアップ前に START TRANSACTION を実行する必要があります。


-- データベース "mydatabase" の "mytable" テーブルをバックアップ
BACKUP TABLE mydatabase.mytable TO '/path/to/backup.sql';

説明

  • バックアップファイルをリストアするには、RESTORE TABLE コマンドを使用する必要があります。
  • バックアップファイルはバイナリ形式で作成されるため、テキストエディタで編集することはできません。
  • ファイル名は自由に設定できます。
  • 上記のコードは、mydatabase データベースの mytable テーブルを /path/to/backup.sql ファイルにバックアップします。
  • --lock-tables オプションを使用すると、バックアップ操作中にテーブルをロックできます。
  • 例えば、--compress オプションを使用すると、バックアップファイルを圧縮できます。
  • BACKUP TABLE コマンドには、さまざまなオプションが用意されています。詳細については、MariaDB のドキュメントを参照してください。
  • バックアップファイルは定期的に更新する必要があります。そうしないと、データ損失が発生する可能性があります。
  • BACKUP TABLE はトランザクションの一貫性を保てない可能性があるため、バックアップ前に START TRANSACTION を実行する必要があります。


非推奨の理由

  • トランザクションの一貫性を保てない可能性がある
  • インクリメンタルバックアップや圧縮などの機能がない
  • mysqldumpmariadbbackup よりも低速

代替手段

mysqldump コマンド

  • 欠点:
    • インクリメンタルバックアップや暗号化などの高度な機能はサポートされていない
    • 大規模なデータベースのバックアップには時間がかかる場合がある
  • 利点:
    • シンプルで使いやすい
    • 多くの場合、デフォルトでインストールされている
    • 圧縮オプションを使用して、バックアップファイルのサイズを小さくできる
  • テーブルのダンプファイルを作成し、必要に応じてリストアできます。
  • 標準的なバックアップツールです。

mariadbbackup ツール

  • 欠点:
    • mysqldump よりも設定が複雑
    • デフォルトでインストールされていない場合がある
  • 利点:
    • mysqldump よりも高速で、大規模なデータベースのバックアップに適している
    • インクリメンタルバックアップや暗号化などの高度な機能をサポートしている
  • インクリメンタルバックアップ、圧縮、暗号化などが可能です。
  • より高度なバックアップ機能を提供します。
機能mysqldumpmariadbbackup
速度中速高速
機能基本的なバックアップのみインクリメンタルバックアップ、圧縮、暗号化など
使いやすさ簡単やや複雑
インストール多くの場合、デフォルトでインストール済みデフォルトでインストールされていない場合がある
  • BACKUP TABLE で作成したバックアップファイルをリストアするには、RESTORE TABLE コマンドを使用する必要があります。
  • BACKUP TABLE はバイナリ形式でファイルを生成するため、テキストエディタで編集することはできません。
  • BACKUP TABLE はトランザクションの一貫性を保てない可能性があるため、バックアップ前に START TRANSACTION を実行する必要があります。