En ocasiones es necesario cambiar el lower_case_table_names para mantener compatibilidad de aplicaciones ejecutándose en Windows o en Linux. Si las bases de datos ya residen en el servidor Linux, antes de cambiar este parámetro a 1 (para compatibilizarlo con Windows), hay que renombrarlas todas para que estén en minúsculas. Este pequeño snippet puede servir de ayuda para hacerlo:
#!/bin/bash
for i in $(mysql -NB -e 'show databases'); do
if [ $i == 'mysql' -o $i == 'information_schema' ]; then
continue;
fi
echo "DB: $i"
for j in $(mysql -NB -e "show tables from $i"); do
lower=$(echo $j | tr [[:upper:]] [[:lower:]])
if [ "$lower" == "$j" ]; then
continue;
fi
echo "$j -> $lower"
mysql -e "RENAME TABLE $j to $lower" $i
done
done