所以我在数据库上混合了 myisam 和 innodb 表。 (它是一个相当大的db 30gb)
我将数据库的文件夹从一台服务器复制到下一台服务器 /var/lib/mysql/databasename
好吧,myisam 表正在打开,列出了 innodb 表,但是当我单击左侧选项卡(phpmyadmin)上的任何表时,我收到此错误:#1146 - 表“databasename.users”不存在
这将用于用户表。其他 innodb 表也有同样的问题。
我想知道如何解决这个问题。
我直接通过 ssh 以 root 身份登录 mysql,当我这样做时: SHOW TABLES;
表users和其他innodb表都被列出。当我执行SHOW COLUMNS FROM users;
我得到:
mysql> show columns from article;
ERROR 1146 (42S02): Table 'sitecontent.article' doesn't exist
请问有什么想法吗? (问题仅存在于 innodb 表中!)
最佳答案
当MySQL返回表'sitecontent.article'不存在
时,意味着InnoDB在字典中找不到表sitecontent.article
的任何记录。这意味着 ibdata1 (存储 InnoDB 字典的位置)对于您的数据库来说是外部的。它一定是在通往新服务器的途中丢失的。
关于mysql - 移动二进制数据库文件夹会导致 innodb 表出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26786527/