mysql - 不能删除数据库不能创建数据库

标签 mysql sql macos terminal

当我以 root 身份运行 mysql 并运行 SHOW DATABASES; 时,它显示我有一个 one_db 数据库,但是当我运行 DROP DATABASE one_db; 它输出以下错误:

ERROR 1008 (HY000): Can't drop database 'one_db'; database doesn't exist

然后我尝试 CREATE DATABASE one_db; 并输出此错误:

ERROR 1007 (HY000): Can't create database 'one_db'; database exists

我现在如何删除这个数据库?


## 这是整个 session (使用 root 登录)##

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| one_db             |
+--------------------+
4 rows in set (0.00 sec)

mysql> DROP DATABASE one_db;
ERROR 1008 (HY000): Can't drop database 'one_db'; database doesn't exist
mysql> CREATE DATABASE one_db;
ERROR 1007 (HY000): Can't create database 'one_db'; database exists

最佳答案

要修复,可以手动清理与 one_db 数据库相关的 mysql 文件:

手动清理过程

  1. Find the datadir path for mysql by running ( at mysql shell ) :

      show variables where Variable_name ='datadir';
    
  2. Stop mysql server

  3. remove the one_db directory under the 'datadir'

  4. restart mysql server and verify database one_db is not present

关于mysql - 不能删除数据库不能创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31229807/

相关文章:

mysql - 从具有多对多关系的表中选择

MySQL合并两列并添加到一个新列中

mysql - (A 加入 B) 加入 (C 加入 D)

eclipse - 从 Eclipse 中删除 "Build Workspace"键盘快捷键

c - 如何知道 Darwin 内核调度程序时间片?

快速停止循环并使用按钮继续

具有复杂排序的MySQL查询

mysql - 强制连接第一个表中的所有行

php - 复制sql表中的一行

mysql - 如何避免对多个可搜索列查询进行全表扫描?