In MySQL 8.0.12 running on Windows 10, it seems impossible to set lower_case_table_names
to 2, so as to achieve the appearance of mixed case DB and table names
I figured it out. When installing MySQL Server 8.0.x, you have to select Advanced Options so that you can get to this screen:
Then you select Preserve Given Case, which is not the default. It's ludicrous that MySQL hides and buries this setting in obscurity, and then provides no possible way post-installation to change it. They need to fix this!!
Be aware that you might have to add lower_case_table_names=2
to my.ini, in case mysql removes it. And you may get a buggy, nonsensical warning as discussed here. I do wish mysql would fix their big obvious bugs that everyone runs in to.
8.0.11 changelog:
It is now prohibited to start the server with a lower_case_table_names setting that is different from the setting used when the server was initialized. The restriction is necessary because collations used by data dictionary table fields are based on the setting defined when the server is initialized, and restarting the server with a different setting would introduce inconsistencies with respect to how identifiers are ordered and compared. (Bug #27309094, Bug #89035)
See also: https://bugs.mysql.com/bug.php?id=89035
By --initialized, it is referring the initial install of 8.0. How was that done?