これはちょうど私に起こりました、そしてしばらくして私はブログ記事で答えを見つけました、そしてそれをここにも置きたいと思いました。
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*ファイルが必要です。