1ヶ月ぶりの更新。
気乗りしないときは無理にブログしないのがモットー!

久々だけど技術(という程でもない)ネタ。
MySQLでdumpとってみたよ。

o 環境〜
OS: CentOS5
DB: MySQL 5.0.67


o dump時のコマンド
# mysqldump -uhoge --master-data=2 --single-transaction --databases db01 db02 > /backup/mysqldump`date +%Y%m%d`


o コマンドの中身
・mysqldump
コマンド自体。パスが通ってない時は通しまっせ。

・-uhoge
hogeユーザにて実行。

・--master-data=2
ダンプの先頭に"CHANGE MASTER TO"を付加する。。。
"2"の時はコメントアウト。"1"の時はコメントアウトされない。。
ってそもそも"CHANGE MASTER TO"がよくわからん。。
教えてエライ人!!

・--single-transaction
dump中も参照・更新が可能。
ただし全部の table が InnoDB の場合。べんりね☆

・--databases db01 db02
db01,db02 のデータベースをdump。

・> /backup/mysqldump`date +%Y%m%d`
ファイルに書き出し


o (ちなみに)dumpに必要なユーザの権限
・グローバル権限
FILE
・DB権限
SELECT
SHOW VIEW
LOCK TABLES

mysql> GRANT RELOAD,FILE,SELECT,SHOW VIEW,LOCK TABLES ON *.* TO hoge@localhost IDENTIFIED BY 'パスワード';
※RELOADはバイナリログをフラッシュしたい場合必要
とかでバックアップ用ユーザ作成できる(かも)

今日やってたらSUPERとかも必要だったような
気もするけど。わからん。。。教えてエライ人!

というわけでmysqldumpですた。



o 参考にさせて頂いたサイト
http://nippondanji.blogspot.com/2010/02/mysql.html
http://open-groove.net/mysql/mysqldump-privileges/




# サーバ触って4年目でまだこのレベルは予定よりう〜ん。。
# ここ1年、"ちょっと管理職"な仕事で、技術学びたくて入社したのにな
# と思いつつも、誰もが好きな仕事をしてるわけで無いんだし、
# 自分で道をこじ開けなくては。と悶々な日々。