无法删除数据库或创建数据库

ges*_*nha 5 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
Run Code Online (Sandbox Code Playgroud)

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

ERROR 1007 (HY000): Can't create database 'one_db'; database exists
Run Code Online (Sandbox Code Playgroud)

我该如何删除此数据库?


##这是整个会话(使用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
Run Code Online (Sandbox Code Playgroud)

amd*_*xon 9

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

手动清理过程

  1. 通过运行(在mysql shell中)找到mysql的datadir路径:

      show variables where Variable_name ='datadir';
    
    Run Code Online (Sandbox Code Playgroud)
  2. 停止mysql服务器

  3. 删除'datadir'下的one_db目录

  4. 重启mysql服务器并验证数据库one_db不存在