これはちょうど私に起こりました、そしてしばらくして私はブログ記事で答えを見つけました、そしてそれをここにも置きたいと思いました。
MySQLデータディレクトリを/var/lib/mysqlからコピーする場合 to /path/to/new/dir 、ただし、データベースフォルダ(つまり、mysql)のみをコピーします 、wpdb 、ecommerce など)そして、innodbテーブルがある場合、innodbテーブルは「showtables」に表示されますが、クエリを実行します(select およびdescribe )は失敗し、エラーMysql error: table db.tableName doesn't exist 。 .frmが表示されます dbディレクトリ内のファイル、そしてなぜだろうか。
innodbテーブルの場合、ib*をコピーすることが重要です。 ファイル。私の場合はibdata1でした。 、ib_logfile0 、およびib_logfile1 。それらを確実にコピーして転送を行うと、すべてが期待どおりに機能しました。
my.cnfファイルに「innodb_file_per_table」が含まれている場合、.ibdファイルはdbディレクトリに存在しますが、それでもib*ファイルが必要です。