Tratto da dev.mysql.com :
Per evitare problemi di trasferimento dei dati derivanti da lettere maiuscole di database o nomi di tabelle, hai due opzioni:
- Utilizza nomi_tabella_minuscoli=1 su tutti i sistemi. Lo svantaggio principale di questo è che quando usi SHOW TABLES o SHOW DATABASES, non vedi i nomi nella loro lettera originale.
- Usa lower_case_table_names=0 su Unix e lower_case_table_names=2 su Windows. Ciò preserva le lettere maiuscole del database e dei nomi delle tabelle. Lo svantaggio di ciò è che devi assicurarti che le tue affermazioni facciano sempre riferimento al tuo database e ai nomi delle tabelle con le lettere maiuscole corrette su Windows. Se trasferisci le tue dichiarazioni a Unix, dove il lettercase è significativo, non funzionano se il lettercase non è corretto.
Eccezione:se stai utilizzando le tabelle InnoDB e stai cercando di evitare questi problemi di trasferimento dei dati, dovresti impostare lower_case_table_names su 1 su tutte le piattaforme per forzare la conversione dei nomi in minuscolo.
Se prevedi di impostare la variabile di sistema lower_case_table_names su 1 su Unix, devi prima convertire il vecchio database e i nomi delle tabelle in minuscolo prima di interrompere mysqld e riavviarlo con la nuova impostazione della variabile.