MySQLのバックアップ(mysqldump)を使ってみる
データ量が多いDBだとphpMyAdminからはデータエクスポートに時間がかかるorタイムアウトになる。
そういうときはコマンドからdumpしちゃいましょうって話
コマンドもMySQLのバージョンで警告がでるみたい。
昔は下記のコマンドで行けてた
1 |
/usr/bin/mysqldump --opt --user=USER --password=PASSWORD DATABASE > bkup.sql |
そうすると下記の警告が発生。
(バージョン5.6から出るようになりました)
Warning: Using a password on the command line interface can be insecure.
警告なので無視することもできるのだけど。
気分的に良くないのでちゃんと手直ししてみましょう。
警告文はパスワードをコマンド上に表示させるのはセキュリティ上よくないぜよ と言っております。
コマンドに出さないようにするためにはパスワードを保存しておくファイルを作成して
それを読み込んであげることで回避できます。
まずはパスワードを保存しておくファイルを作成します。
ファイル名:mysql.cnf
中身↓
1 2 3 4 |
[client] user = hoge password = hogehoge host = 192.168.1.1 |
そしてコマンドは下記!
※–default-fileは一番最初に指定します。
1 |
mysqldump --defaults-file=mysql.cnf --opt DATABASE > bkup.sql |
ちなみにmysql.cnfにdatabase=hoge とデータベース名を入れると下記の警告がでます。
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option ‘–databases’ due to invalid value ‘hoge’
設定ファイルにdatabaseは指定しないほうが良いですね。