mysql> show databases;

+---------------------+
| Database            |
+---------------------+
| information_schema  |
| #mysql50#.miya1102  |
| game_coin           |
| game_user           |
| ibdata              |
| iblog               |
| kpi                 |
| mysql               |
| statistics_database |
| test                |
+---------------------+
10 rows in set (0.00 sec)
 
发现有#mysql50#.miya1102这样的数据库名。
 
mysql>use #mysql50#.miya1102;
ERROR 1102 (42000): Incorrect database name '#mysql50#.miya1102'
mysql>drop database #mysql50#.miya1102;
ERROR 1102 (42000): Incorrect database name '#mysql50#.miya1102'
 
使用ALTER DATABASE `#mysql50#.miya1102` UPGRADE DATA DIRECTORY NAME;修改库名
(如果出现#mysql50#databasename这样的名称,可以用ALTER DATABASE 命令将名字修改为正常,一般原因是data_dir目录中有特殊字符
报错:
mysql> ALTER DATABASE `#mysql50#.miya1102` UPGRADE DATA DIRECTORY NAME;
ERROR 1102 (42000): Incorrect database name '#mysql50#.miya1102'
 
原因:在data_dir目录下ll -a 发现有.miya1102的隐藏文件。
 
解决办法:将data_dir目录下.miya1102移动到别处,问题解决。