【问题标题】:MySQL database name with illegal characters带有非法字符的 MySQL 数据库名称
【发布时间】:2013-09-11 08:56:13
【问题描述】:

我最近从旧主机导入了一个数据库。遗憾的是,它包含一些名称格式如下的数据库:

#mysql50#databasename.bak

我想删除这些,因为它们不再需要,但调用 drop 数据库会给我以下错误:

DROP DATABASE `#mysql50#databasename.bak`
Incorrect database name

我查看了information_schema,名称相同,包括#s。我注意到的一件有趣的事情是 /var/lib/mysql 下的目录不包含 #s 并且格式为 databasename.bak。

【问题讨论】:

    标签: mysql special-characters database-schema


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      您是否尝试过使用数据库管理软件如navicat 或phpmyadmin 来删除它?

      你也有获得数据库的计算机的根访问权限吗?您应该能够进入 mysql 数据目录并在文件级别删除数据库。我的数据目录是/var/lib/mysql。在该目录中,您将看到所有数据库(作为目录),只需删除以数据库命名的目录即可。

      【讨论】:

      • 谢谢我做了第二种方法,删除了这些数据库的数据下的文件,因为 phpmyadmin 仍然存在名称问题。
      【解决方案3】:

      试试

      DROP DATABASE `\#mysql50\#databasename.bak`
      

      DROP DATABASE `##mysql50##databasename.bak`
      

      【讨论】:

      • 他也应该逃离DOT
      • 遗憾的是,当我尝试这两个命令时,我得到“数据库不存在”:(
      猜你喜欢
      • 2010-10-29
      • 1970-01-01
      • 2019-08-10
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多