Disasterkid Disasterkid - 1 month ago 14
MySQL Question

lower_case_table_names set to 2, Workbench still does not allow lowercase database name

I have installed

MySql Workbench 6.2
with
MySql version 5.6
on my Windows 7 64-bit.

I would like to use Capital letters in my database name and table names. So I need to set the variable
lower_case_table_names
to 2. When I look at my Options file's General tab, it looks like the following:
enter image description here
Clicking Apply opens a dialog that says "There Are No Changes".
Regardless, when I try to create a database with a Capital letter, I get the warning:


The server is configured with lower_case_table_names=1 which only
allows lowercase characters in schema and table names.


I have a feeling the
my.ini
file on the server differs from the one mentioned in the Options File configuration. When I try to add this variable manually
inside my
my.ini
file, I see the text below:

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.


This is how I have been stuck in creating my schema for a few days now.

Answer

In Windows, table naming is case-insensitive. That is, your Customer table and your customer table will always be the same on Windows. That's a limitation of the NT File System.

(You can use mixed-case table names for different tables on Linux, BSD, and the like, but it's considered very bad practice: only do that if you want to drive your colleagues crazy. So be careful.)

If you leave this lower_case_table_names setting alone, you can use mixed case in your table names without problems.

The my.ini file the server actually uses when it starts is usually found in the data directory. The installation procedure can copy a preloaded version of that file, like my_large.ini on top of my.ini depending on what you are trying to do.