MySQL 5.1 のデータベースのバックアップを取り、別のサーバ機の MySQL 5.6 にインストールする際、source コマンドを使ってデータベースの復元を行うと、以下のようなエラーが発生することがあります。
ERROR 1146 (42S02): Table 'test.蜃コ蠎ォ' doesn't exist
この文字化けしたテーブル名は日本語表記になっており、データベースの文字コードは utf8 です。
このような場合は、source コマンドの代わりに mysql コマンドでデータベースの復旧を試みると解決することがあります。
例:
mysql -uroot -ppassword < test.sql
【注意点】
mysql コマンドを使って大規模データベースを復旧する際、以下のようなエラーが発生して処理が停止してしまうことがあります。
MySQL server has gone away.
これを回避するには、 my.ini(my.conf) の max_allowed_packet の数値を増やします。
max_allowed_packet = 64M
(デフォルトは 4M)