データベース間でデータをまるまるコピーしたい(要は同じ状態にしたい)ということがあります。
特に本番環境と開発環境を同じ状態にしたいということはよくあるでしょう。
どのDBMSでもエクスポート→インポートするのが一般的だと思います。
さて、MySQLの場合ですが
もちろん単純にmysqldumpでファイルにエクスポート、その後インポートでもできますが
実はファイルに出力しなくても一行でできてしまいます。ファイル消したりしなくていいので楽です。
mysqldump -uユーザー名 -pパスワード 移行元データベース名 | mysql -uユーザー名 -pパスワード 移行先データベース名
エクスポートツールmysqldumpの出力をそのままパイプで移行先に渡してやればいいだけです。
なぜこれができるかというと
・mysqldumpコマンドが出力しているのは単なるSQLである
・mysqlコマンドはSQLを受け取るとそれをそのまま実行してくれる
からです。
mysqldumpで出力されるSQLはCREATE TABLE+INSERTですが
CREATE TABLEの前にDROP TABLE IF EXISTがあるので移行先に同じテーブルがあっても予め削除しておく必要はありません。(TABLE以外、VIEWやPROCEDUREも同様)
Oracleなんかは予め同じテーブルを削除しておく必要があるので、この点MySQLは楽です。