Question :
I am using Ubuntu 13.10 and MySQL 5.6 and I know database name and table name are case sensitive in Ubuntu (and some other *nix environments) by default.
Now, I want to make MySQL work as case insensitive in Ubuntu.
Is it possible? If yes, how can I do it?
Answer :
Open terminal and edit /etc/mysql/my.cnf
sudo nano /etc/mysql/my.cnf
Underneath the [mysqld]
section.add:
lower_case_table_names = 1
Restart mysql
sudo /etc/init.d/mysql restart
Then check it here:
mysqladmin -u root -p variables
If you change lower_case_table_names
in a DB with existing tables Stack Overflow: MySQL > Table doesn’t exist. But it does (or it should) can happen.
The comment to this answer helped me in this case:
I reverted the value, restarted the database, exported the tables, set the value back to 1, restarted the database, re-imported the tables and everything worked again.
This problem was causing pain for me, where Doctrine generated capital/CamelCase table names and MySQL stored them as lowercase!
It was solved by changing my.cnf
and adding
lower_case_table_names = 1
under the [mysqld] section
my.cnf can be found:
-
under LAMPP/XAMPP… :
/opt/lampp/etc/my.cnf
-
stand alone mysql server :
/etc/mysql/my.cnf
Afterwards restart MySQL server, and everything will be ok.