Isso acabou de acontecer comigo e depois de um tempo encontrei a resposta em um artigo do blog e queria colocá-la aqui também.
Se você copiar o diretório de dados MySQL de
/var/lib/mysql
para /path/to/new/dir
, mas apenas copie as pastas do banco de dados (ou seja, mysql
, wpdb
, ecommerce
, etc) E você tem tabelas innodb, suas tabelas innodb aparecerão em 'show tables', mas as consultas nelas (select
e describe
) falhará, com o erro Mysql error: table db.tableName doesn't exist
. Você verá o .frm
arquivo no diretório db e me pergunto por quê. Para tabelas innodb, é importante copiar o
ib*
arquivos, que no meu caso eram ibdata1
, ib_logfile0
e ib_logfile1
. Depois que fiz a transferência, certificando-me de copiá-los, tudo funcionou como esperado. Se seu arquivo my.cnf contiver "innodb_file_per_table", o arquivo .ibd estará presente no diretório db, mas você ainda precisará dos arquivos ib*.