Case Insensitive Table And Column Names In MySQLMattias Geniar, Wednesday, April 15, 2009 - last modified: Sunday, February 19, 2012
While you should always uphold the case-sensitive tablenames, it can be troublesome when migrating from a host that had this option enabled (table & column names become case insensitive), to a host that doesn't have this option -- so you suddenly find yourself "stuck" with case sensitive table and column names. For instance when migrating from a Windows environment, to a Linux environment.
Table 'database.TableName' doesn't exist (because the table "tablename" exists, without capitals)
To solve this, edit your /etc/my.cnf file and add the following line:
set-variable = lower_case_table_names=1
Restart your MySQLd.
service mysqld restart or /etc/init.d/mysqld restart
There are some serious consequences to this change, which are best explained on this page; MySQL case insensitive table and column names. And if you're thinking of using this in combination with Plesk's Control Panel; don't. You'll break Plesk's functionality, and receive continuous notices that the server's SMTP server is down, even though it's not. This is because Plesk performs its checks using a case sensitive database, and those checks fail once you revert to a case insensitive system.