MySQL on 12.2 Cannot change lower_case_table_names variable


I have a MySQL server running on my workstation that works with old code requiring the variable lower_case_table_names to be set to 1 to avoid problems with sloppy coding of SQL queries in mixed case.

For very many years, I have had the entry

set-variable = lower_case_table_names=1

in my my.cnf file.

However, if I put this into /etc/my.cnf in 12.1, the server will not start. The message in mysqld.log suggests that there is no such variable

[ERROR] /usr/sbin/mysqld: unknown variable ‘set-variable=lower_case_table_names=1’

which is plainly contradicted by

eurgain@fuchsia:~> mysqladmin variables|grep case
| lower_case_file_system | OFF
| lower_case_table_names | 0

Stranger yet, is:

mysql> set lower_case_table_names=1;
ERROR 1238 (HY000): Variable ‘lower_case_table_names’ is a read only variable

I wonder if this is a change in some detail between MySQL V5.1 of 11.3 and MySQL V5.5 of 12.1, but nothing is apparent from the official documentation.

Any help on the cause and possible cure would be very welcome.



In my.cnf, change

set-variable = lower_case_table_names=1



Simple as that! In other words, it is now a my.cnf option, rather than being controlled by a variable. Now, I wonder where the need to make the change was documented…