content_image/687628.jpg
• lower_case_table_names 

<img src='content_image/687628.jpg'>

If set to 0, table names are stored as specified and comparisons are case-sensitive. If set to 1, table names are stored in lowercase on disk and comparisons are not case-sensitive. If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases. For additional details, see Section 9.2.3, “Identifier Case Sensitivity” . 

On Windows the default value is 1. On macOS, the default value is 2. On Linux, a value of 2 is not supported; the server forces the value to 0 instead. 

You should not  set lower_case_table_names  to 0 if you are running MySQL on a system where the data directory resides on a case-insensitive file system (such as on Windows or macOS). It is an unsupported combination that could result in a hang condition when running an INSERT INTO ... SELECT ... FROM tbl_name  operation with the wrong tbl_name  lettercase. With MyISAM , accessing table names using different lettercases could cause index corruption. 

An error message is printed and the server exits if you attempt to start the server with -- lower_case_table_names=0  on a case-insensitive file system. 

If you are using InnoDB  tables, you should set this variable to 1 on all platforms to force names to be converted to lowercase. 

The setting of this variable affects the behavior of replication filtering options with regard to case sensitivity. For more information, see Section 17.2.5, “How Servers Evaluate Replication Filtering Rules” . 

It is 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 various data dictionary table fields are determined by 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. 

It is therefore necessary to configure lower_case_table_names  to the desired setting before initializing the server. In most cases, this requires configuring lower_case_table_names  in a MySQL option file before starting the MySQL server for the first time. For APT installations on Debian and Ubuntu, however, the server is initialized for you, and there is no opportunity to configure the setting in an option file beforehand. You must therefore use the debconf-set-selection  utility prior to 

