Tomado de dev.mysql.com :
Para evitar problemas de transferencia de datos derivados del uso de mayúsculas y minúsculas en los nombres de las tablas o bases de datos, tiene dos opciones:
- Utilice lower_case_table_names=1 en todos los sistemas. La principal desventaja de esto es que cuando usa MOSTRAR TABLAS o MOSTRAR BASES DE DATOS, no ve los nombres en su letra original.
- Utilice lower_case_table_names=0 en Unix y lower_case_table_names=2 en Windows. Esto conserva las mayúsculas y minúsculas de la base de datos y los nombres de las tablas. La desventaja de esto es que debe asegurarse de que sus declaraciones siempre se refieran a su base de datos y nombres de tablas con las letras correctas en Windows. Si transfiere sus extractos a Unix, donde el uso de mayúsculas y minúsculas es significativo, no funcionarán si el uso de mayúsculas y minúsculas es incorrecto.
Excepción:si está utilizando tablas InnoDB y está tratando de evitar estos problemas de transferencia de datos, debe establecer lower_case_table_names en 1 en todas las plataformas para obligar a que los nombres se conviertan a minúsculas.
Si planea establecer la variable de sistema lower_case_table_names en 1 en Unix, primero debe convertir su antigua base de datos y nombres de tablas a minúsculas antes de detener mysqld y reiniciarlo con la nueva configuración de variable.