所以我在数据库中混合了myisam和innodb表。 (它相当大的数据库30gb)
我将数据库的文件夹从一台服务器复制到下一个/var/lib/mysql/databasename
好吧,myisam表正在打开innodb表被列出但当我点击左侧选项卡(phpmyadmin)中的任何一个时,我收到此错误:#1146 - Table 'databasename.users' doesn't exist
这将是用户表。其他innodb表也有同样的问题。
我想知道如何解决这个问题。
当我执行以下操作时,我通过ssh直接登录到mysql:SHOW TABLES;
表用户和其他innodb表都列出了。当我做SHOW COLUMNS FROM users;
时
我明白了:
mysql> show columns from article;
ERROR 1146 (42S02): Table 'sitecontent.article' doesn't exist
请问任何想法? (问题仅存在于innodb表中!)
答案 0 :(得分:1)
当MySQL返回Table 'sitecontent.article' doesn't exist
时,这意味着InnoDB无法在表sitecontent.article
的字典中找到任何记录。这意味着ibdata1(存储InnoDB字典)对您的数据库来说是陌生的。它必定已经丢失到新服务器的某个地方。