mysql で lower_case_table_names=0 で作ってしまったテーブルを lower_case_table_names=1 用にリネームする

lower_case_table_names=0 の時に

 mysql DBNAME -e "show tables" -NB|ruby -p -e '$_.sub!(/.*$/){|a| "RENAME TABLE #{a} TO #{a.downcase};" }'|mysql DBNAME

すると全部小文字になるので、それから lower_case_table_name=0 する。

システム用テーブル以外の一覧は

mysql -N -e 'show databases'|grep -v -E '^(tmp|mysql|innodb|information_schema|performance_schema)$'

しないととれないのかな・・・?