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移动到别处,问题解决。