ちょっと、実験用にデータベースが欲しい時に、稼働環境からコピってくるとかよくあると思うんです。
最近のMySQLは稼働中でもdump取れるんですね。便利!!
ちっちゃいデータベースコピーなら、これでいける。
takuya@atom:~$ mysqladmin create DEST_DB Password: takuya@atom:~$ mysqldump SRC_DB | mysql DEST_DB
だけれど、パイプでつなぐと、password のプロンプトが見えなくて困る。無理やり入れたら通る。しかし、Password:はしっかりdump.sqlに・・・
標準出入力が。。。
パイプでつなぐと残念なお知らせ。標準出力の「Password:」がバッチリ・・・
Password:-- MySQL dump 10.13 Distrib 5.5.44, for debian-linux-gnu (x86_64) -- -- Host: localhost Database: xxxxxxx -- ------------------------------------------------------ -- Server version 5.xxxxxxxxx /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
ちゃんとSQLファイルにdumpした方がいい
Bashの履歴に残さないようにコマンドを打つ
bash は、コマンド入力の先頭にスペースを入れれば、履歴に残らないので。それを使う。
takuya@atom:~$ mysqladmin create DEST_DB Password: takuya@atom:~$ mysqldump -p $PASSWORD SRC_DB | mysql DEST_DB
パスワードを入れる前に、スペースを入れて履歴に残さないのがミソ
追記
bashで先頭スペースをいれて、履歴に残さない設定
export HISTCONTROL=ignoreboth
参考資料
https://dev.mysql.com/doc/refman/5.6/en/mysqldump-copying-database.html