存在同名

时间:2018-02-22 09:46:42

标签: mysql mariadb

我的mysql / mariadb服务器中有一个奇怪的状态。

当我执行show databases;时,会得到以下结果:

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| MYDATABASENAME         |
| mydatabasename         |

当我执行drop database MYDATABASENAME;时,数据库mydatabasename小写的一个被删除而不是大写的一个。如果我再次执行drop database MYDATABASENAME;则说明

  

ERROR 1008(HY000):无法删除数据库'mydatabasename';数据库没有   存在

更新

在my.cnf中,我设置了lower_case_table_names = 1,这导致mysql服务器以小写格式处理所有表/数据库。请参阅下面的答案。

我现在的问题是,如何删除大写数据库“MYDATABASENAME”?

2 个答案:

答案 0 :(得分:1)

如果您在lower_case_table_names=1中设置了my.cnf,那么mysql将以小写格式处理/存储所有表和数据库。因此禁用该属性,然后再次执行drop命令修复了问题。

答案 1 :(得分:0)

最好不要尝试覆盖 for (RegLife r : rLife) { // use r here all you want. for (largeLife l : lLives) { // and use it here too.. // if that makes sense. l.seek(r); } } 的基于操作系统的默认值。

MySQL / MariaDB依赖于基于表和数据库名称的文件和目录名称。但Windows无视案例; * nix没有。