MySQL 5.1.7 で導入された RENAME DATABASE構文がいつのまにかなくなった。
ーーー
mysql> rename database mysample1 to mysample2;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database mysample1 to mysample2' at line 1
ーーー
「5.1.7 で導入されたけど、デンジャラスだったので 5.1.23 で亡く」
解決策:
・dumpを取って、新たのDBにリストアする。
他に下記の方法もある
mysql> CREATE DATABASE newdb;
echo "show tables;"|mysql --defaults-file=/etc/mysql/credentials.cnf dbname|head -n -1 >~/tables.txt
cat ~/tables.txt |xargs -L 1|awk '{print "RENAME TABLE dbname."$1" TO newdb."$1";"}' >~/rename.txt
cat ~/rename.txt|mysql --defaults-file=/etc/mysql/credentials.cnf