22
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MySQLテーブルバックアップ4選:現場で使える実践ガイド

Last updated at Posted at 2025-02-28

はじめに

データベース管理者が知っておくべき4つのバックアップ手法を解説。開発環境から本番環境まで、規模や要件に応じた最適な選択ができるよう構成しています。

1. mysqldumpを使った基本バックアップ

基本構文

mysqldump -uユーザ名 -pパスワード DB名 テーブル名 > 出力ファイル.sql

パラメータ詳細

オプション 説明 注意点
-u 接続ユーザ名 root以外のユーザ使用時必須
-p パスワード 特殊文字含む場合は実行後入力が安全
DB名 対象データベース SHOW DATABASES; で確認可能
テーブル名 特定テーブルのみバックアップ 複数指定可能
> 出力リダイレクト 絶対パス指定推奨

実践例

mysqldump -u${USER} -p${PASS} ecommerce orders > /backup/orders_$(date +%Y%m%d).sql

トラブルシューティング

/* 権限エラー発生時 */
GRANT SELECT, LOCK TABLES ON *.* TO 'バックアップユーザ'@'localhost';

2. MySQL WorkbenchのGUIバックアップ

操作フロー

注意点

  • ファイル出力先:ローカルマシンのパスを直接指定不可(サーバー側のパスが必要)
  • 大容量データ:Advanced Optionschunkingを有効化

3. SELECT INTO OUTFILEでCSV出力

完全版構文

SELECT * INTO OUTFILE '/path/file.csv'
CHARACTER SET utf8mb4
FIELDS
  TERMINATED BY ','
  ENCLOSED BY '"'
  ESCAPED BY '\\'
LINES
  TERMINATED BY '\r\n'
FROM テーブル名
WHERE 条件;

設定項目比較

項目 推奨値 Excel対応 日本語対応
文字コード utf8mb4
改行コード \r\n -
エスケープ \ -

権限設定

-- ファイル書き込み権限付与
GRANT FILE ON *.* TO 'ユーザ名'@'localhost';

エラー対応表

エラー内容 解決策
1290 secure_file_priv設定を確認
1045 FILE権限を付与
1366 文字コードをutf8mb4に統一

4. バイナリログバックアップ

設定手順

  1. my.cnf編集:
[mysqld]
log-bin=/var/log/mysql/mysql-bin.log
expire_logs_days=7
max_binlog_size=100M
  1. サービス再起動:
sudo systemctl restart mysql

5. バックアップ自動化の高度な手法

5-1. 自動化パイプライン構築例

5-2. 実践自動化スクリプト

#!/bin/bash
# バックアップ実行
mysqldump --single-transaction -u$user -p$pass dbname | gzip > backup.sql.gz

# 暗号化処理
openssl enc -aes-256-cbc -salt -in backup.sql.gz -out backup.enc

# クラウド転送(API連携事例)
curl -X POST -H "Authorization: Bearer $token" \
     -F "file=@backup.enc" \
     https://api.cloudstorage.com/upload

5-3. API連携の効率化手法(Apidog連携事例)

大規模環境ではバックアップ完了後の処理自動化が必須です。APIテストツールのApidogを活用すると以下のメリットが得られます:

  • テストレポート:自動テストの実行が完了すると、テストレポートが出力されます
  • カスタム通知:Webhook/Slack/Jenkins/Emailへの自動連携

6. 総合比較表

方式 処理速度 容量 復旧精度 自動化 学習コスト
mysqldump
Workbench × × 最低
OUTFILE
バイナリログ

7. 現場で役立つ重要ポイント

3-2-1ルール

  • 3つのコピー
  • 2種類のメディア
  • 1つは遠隔地保管

ベストプラクティス

復旧戦略

  1. フルバックアップ(毎週)
  2. 差分バックアップ(毎日)
  3. バイナリログ(常時)

チェックリスト

  • バックアップファイルの整合性確認
  • 復旧時間の計測(RTO)
  • 暗号化処理の実施
  • 保管期間の明確化

おわりに

実際にバックアップ取得後は、必ずリストアテストを実施しましょう。「バックアップがある」と「復旧できる」は全く別次元の問題です。本ガイドが堅牢なデータ保護体制構築の一助となれば幸いです。

22
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?