Detta hände mig precis och efter ett tag hittade jag svaret på en bloggartikel och ville lägga det här också.
Om du kopierar MySQL-datakatalogen från /var/lib/mysql
till /path/to/new/dir
, men kopiera bara databasmapparna (dvs. mysql
, wpdb
, ecommerce
, etc) OCH du har innodb-tabeller, dina innodb-tabeller kommer att dyka upp i "visa tabeller" men frågor om dem (select
och describe
) kommer att misslyckas, med felet Mysql error: table db.tableName doesn't exist
. Du kommer att se .frm
fil i db-katalogen och undrar varför.
För innodb-tabeller är det viktigt att kopiera över ib*
filer, som i mitt fall var ibdata1
, ib_logfile0
och ib_logfile1
. När jag väl gjorde överföringen och såg till att kopiera dem fungerade allt som förväntat.
Om din my.cnf-fil innehåller "innodb_file_per_table" kommer .ibd-filen att finnas i db-katalogen men du behöver fortfarande ib*-filerna.