MySQL删除数据库失败ER_DROP_DATABASE_FAILED_RMDIR_MANUALLY报错怎么办?远程怎么修复?

文章导读
远程修复方法:登录服务器SSH,进入MySQL数据目录,通常是/var/lib/mysql/,找到报错的数据库文件夹,手动rm -rf 数据库名,然后再去MySQL里DROP DATABASE。
📋 目录
  1. 解决方案一
  2. 解决方案二
  3. 解决方案三
  4. 解决方案四
  5. 解决方案五
  6. FAQ
A A

远程修复方法:登录服务器SSH,进入MySQL数据目录,通常是/var/lib/mysql/,找到报错的数据库文件夹,手动rm -rf 数据库名,然后再去MySQL里DROP DATABASE。

解决方案一

这个错误是因为数据库目录下有文件或目录无法删除,通常是权限问题或有锁文件。远程登录服务器,cd /var/lib/mysql/,ls -la 看数据库文件夹权限,如果是mysql用户所有,sudo rm -rf 数据库文件夹名,然后mysql里drop database。

解决方案二

ER_DROP_DATABASE_FAILED_RMDIR_MANUALLY表示手动删除目录失败。进服务器,kill掉所有连接这个数据库的进程,netstat -tlnp | grep mysql 找进程,kill -9 PID,然后rm -rf /var/lib/mysql/数据库名。

解决方案三

远程修复:ssh root@服务器IP,apt update && apt install mysql-client,mysql -u root -p,show databases; 然后退出mysql,cd /var/lib/mysql,rm -rf 问题数据库文件夹,回到mysql drop database 数据库名;。

解决方案四

常见原因是ibdata1文件太大或权限不对。远程:find /var/lib/mysql -name "数据库名",sudo chown -R mysql:mysql /var/lib/mysql/数据库名,rm -rf 数据库名,mysql drop。

解决方案五

如果目录非空,手动清空:ssh进服务器,cd /var/lib/mysql/数据库名,rm -rf *,然后cd ..,rmdir 数据库名,mysql里drop database。

MySQL删除数据库失败ER_DROP_DATABASE_FAILED_RMDIR_MANUALLY报错怎么办?远程怎么修复?

FAQ

Q: 为什么会出现这个错误?
A: 数据库目录下有残留文件、权限问题或进程占用。

Q: 远程怎么进MySQL数据目录?
A: ssh root@IP,cd /var/lib/mysql/ 或 /usr/local/mysql/data/。

Q: 删除后还能恢复数据库吗?
A: 手动删了就没了,提前备份。

Q: 权限不够怎么办?
A: sudo chown -R mysql:mysql 数据目录,然后删除。