アカウントファイルを用いたDBログインとバックアップ。
概要
バックアップスクリプトなどでMySQLにログインして処理を行う場合のTIPSです。
さっくりとした手順
- アカウントファイルを作ります。
- ログインできることを確認します。
- アカウントファイルを用いたコマンドでバックアップできることを確認します。
アカウントファイル作成
- ディレクトリ作成
sudo mkdir -p /home/hoge/db_password
運用に合わせて指定ください。
cd /home/hoge/db_password && pwd
指定したディレクトリに移動します
- アカウントファイル作成
以下の内容を教義・信仰に沿ったエディタで作成します。(【】内は取り除き、自分の設定に合わせます)
- アカウントファイル内容
- ファイル例:account.txt
[client]
user = 【RedmineのDBユーザ】
password = "【RedmineのDBユーザ用パスワード】"
password は""で囲みます。
- アカウントファイルのパーミッション変更
chmod 400 account.txt
ls -l account.txt
パーミッションが400であることを確認します。
ファイルを用いてのログインを確認
mysql --defaults-extra-file=/path/to/directory/account.txt
--defaults-extra-file=
は、アカウントファイルの絶対パスです。
ログインできることを確認します。
SHOW DATABASES;
アカウントの権限で指定されたDBの表示を確認します。
EXIT
MySQLから抜けます。
SQL Dumpの取得
- SQL Dump
mysqldump --defaults-extra-file=/path/to/directory/account.txt --no-tablespaces -h [DBサーバ] [DB名] > backup.sql
-
--no-tablespaces
はPROCESS特権がないユーザでもダンプできるようにするためです。 -
バックアップ先も必要に応じて絶対パスで指定できます。
-
ファイル確認
ls -l backup.sql
ファイルの内容にDBがあれば成功です。取り扱いには慎重を期してください。