今天,当我使用dbForge Studio for MySQL (第三方软件)将一个完整的MySQL备份从一个服务器恢复到另一个服务器时,我遇到了这个奇怪的问题。
下面是这个问题的一个例子:

发布于 2016-09-14 17:54:38
你的问题非常直接。
在Linux中,MyISAM表tablename的文件扩展名必须是
tablename.frmtablename.MYDtablename.MYI文件扩展名区分大小写。
Windows不检查.myd和.myi文件扩展名是否区分大小写,因此Windows MySQL实例中的MyISAM表将允许这样做。Linux的情况并非如此。
在您的例子中,让我们看看UsersInGroups表。显然,您有两个具有两个不同文件名和/或扩展名的表:
UsersInGroups.frmUsersInGroups.MYDUsersInGroups.MYIusersingroups.frmusersingroups.mydusersingroups.myi您必须重命名操作系统中的文件,以便只有.MYD和.MYI扩展名。然后可以使用区分大小写的名称UsersInGroups和usersingroups查询每个表。
如果你只是想用另一个代替一个。删除旧文件,保留新文件,并确保只有.MYD和.MYI扩展名。顺便说一句,.frm必须总是小写。
如果您正在使用dbForge从Windows机器对MyISAM表进行备份,并且在Linux计算机上还原该备份,则必须始终记住在从备份恢复后更改文件扩展名。
我五年前就谈过这个了(如何将数据库从一台服务器移动到另一台服务器?)
https://dba.stackexchange.com/questions/149693
复制相似问题