Dette skete lige for mig, og efter et stykke tid fandt jeg svaret på en blogartikel og ville også lægge det her.
Hvis du kopierer MySQL-databiblioteket fra /var/lib/mysql
til /path/to/new/dir
, men kopier kun databasemapperne (dvs. mysql
, wpdb
, ecommerce
, osv.) OG du har innodb-tabeller, vil dine innodb-tabeller dukke op i "vis tabeller", men forespørgsler på dem (select
og describe
) vil mislykkes med fejlen Mysql error: table db.tableName doesn't exist
. Du vil se .frm
fil i db-biblioteket, og undrer dig over hvorfor.
For innodb-tabeller er det vigtigt at kopiere over ib*
filer, som i mit tilfælde var ibdata1
, ib_logfile0
, og ib_logfile1
. Da jeg først foretog overførslen og sørgede for at kopiere dem, fungerede alt som forventet.
Hvis din my.cnf-fil indeholder "innodb_file_per_table", vil .ibd-filen være til stede i db-biblioteket, men du har stadig brug for ib*-filerne.