You problem is incredibly straightforward.
In Linux Systems, the file extensions for a MyISAM table tablename
must be
tablename.frm
tablename.MYD
tablename.MYI
The file extensions are case-sensitive
Windows does not check case-sensitivity for .myd
and .myi
file extensions, so a MyISAM table in a Windows MySQL instance will allow for this. Such is not the case with Linux.
In your case, let's look at the UsersInGroups
table. You evidently have two tables with two different filenames and/or extensions:
UsersInGroups.frm
UsersInGroups.MYD
UsersInGroups.MYI
usersingroups.frm
usersingroups.myd
usersingroups.myi
You will have to rename the files in the OS so that there are only .MYD
and .MYI
extensions. You can then query each table using the case-sensitive name UsersInGroups
and usersingroups
.
If you simply want to replace one with the other. delete the old files, keep the new files, and make sure you only have .MYD
and .MYI
extensions. BTW .frm
must always be lower case.
If you are using dbForge to make a backup of MyISAM tables from a Windows machine and you restore that backup on a Linux machine, you must always remember to change the file extensions after restoring from backup.
I talked about this 5 years ago (How can I move a database from one server to another?)
select * from information_schema.tables where lower(table_name) = 'usersingroup'
If there are several tables with the same name, but in different case, quoting the table name might be the cause. – Lennart Sep 14 '16 at 17:03