![为什么我无法重新创建已删除的数据库?](https://linux22.com/image/683636/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E9%87%8D%E6%96%B0%E5%88%9B%E5%BB%BA%E5%B7%B2%E5%88%A0%E9%99%A4%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%9F.png)
我在 Debian 主机上,从 Django 项目中删除了一个数据库,然后尝试重新创建它。我尝试使用 mysqladmin 和 mysql 中相同基本主题的变体来创建数据库,并且(在删除数据库之前成功创建了第一个数据库之后)我尝试了以下操作:
[以 root 身份]
mysqladmin create foo -uroot -p
并总是得到如下的回应:
ERROR 1006 (HY000): Can't create database 'foo' (errno: 28)
经过一番搜索,我发现错误消息可能是权限/所有权问题。我简单查看了一下,my.cnf 指向 /var/lib/mysql。/var/lib/mysql 由 mysql:mysql 拥有;所有目录都是模式 700,根目录中有文件,位于 660 和 644。
我需要做什么才能让我删除的数据库(据我所知现在不存在)被一个同名的新数据库所取代?
(我尝试使用全新的名称创建数据库,但出现了同样的错误。)
我在跑步:
mysql Ver 14.14 Distrib 5.5.49,适用于 debian-linux-gnu (x86_64),使用 readline 6.3
Linux www 4.5.0-x86_64-linode65 #2 SMP 2016 年 3 月 14 日星期一 18:01:58 EDT x86_64 GNU/Linux
答案1
errno 28
意思ENOSPC
是“设备上没有剩余空间”。
对于这种标准化错误,有几种可用的查找命令,其中一个很简单errno
:
% errno 28
ENOSPC 28 No space left on device
另一个叫做perror
:
% perror 28
OS error code 28: No space left on device