mysqlで異なるデータベース間でのデータベースの移行ってどうやるんだっけ?

【やりたいこと】
異なるデータベース間でのデータベースの移行。
例えば、db2を新規に作成して、そこにdb1の内容を移行したい。

【当初想定していた実施方法】

①移行先データベースを作成する
create database db2;

②移行元データベースdb1のダンプを取得する
mysqldump -h移行元DBホスト名 -uユーザ名 -pパスワード -R --hex-blob --databases db1 > db1.sql

③取得したダンプを移行先データベースdb2へ投入する
mysql -uユーザ名 -pパスワード db2 < db1.sql

これで完了と思っていたが、これでは、新規にdb2が作成されるだけで、db1へdb2のデータ(tableやview)が投入されない。。。

テーブルのみdumpして、それを投入すればいいかと思って次のようにやってみた。

①テーブルのみdump
mysqldump -h移行元DBホスト名 -uユーザ名 -pパスワード -t db1 テーブル1 テーブル2 ・・・・ > db1.sql
②取得したダンプを移行先データベースdb2へ投入する
mysql -uユーザ名 -pパスワード db2 < db1.sql

しかし、これはエラー。当然だけど。

ERROR 1146 (42S02) at line 22: Table 'テーブル1' doesn't exist

どこが間違っているのだろうかと思ってdump取得方法を再度見なおしたところ、間違いに気がつく。
次のように「--databases」オプションを指定していた。特定のデータベースをダンプして、異なるデータベースに流し込む場合、これは不要。

mysqldump -h移行元DBホスト名 -uユーザ名 -pパスワード -R --hex-blob --databases db1 > db1.sql

次のように「--databases」オプションを削除してダンプを取得したら成功。

mysqldump -h移行元DBホスト名 -uユーザ名 -pパスワード -R --hex-blob db1 > db1.sql