ERROR 1006(HY000)无法创建数据库(错误号:13)MySQL 5.6.12

har*_*ndy 23 mysql mysql-5.6

我正面临创建数据库的问题,并导致以下错误.

mysql> show grants for 'admin'@'%';
+---------------------------------------------------------------------------------------------------------------------------------+
| Grants for admin@%                                                                                                              |
+---------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441' WITH GRANT OPTION |
+---------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> create database abc;
ERROR 1006 (HY000): Can't create database 'abc' (errno: 13)
Run Code Online (Sandbox Code Playgroud)

这是我的用户表.

mysql> select host, user from mysql.user;
+-------------+-------+
| host        | user  |
+-------------+-------+
| %           | admin |
| 127.0.0.1   | root  |
| ::1         | root  |
| IVM-MMC-DGW | root  |
| localhost   | admin |
| localhost   | root  |
+-------------+-------+
6 rows in set (0.00 sec)


mysql> show grants;
+-----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for admin@localhost                                                                                                              |
+-----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441' WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

我可以在现有数据库中创建和删除表.

数据目录已具有mysql:mysql权限,并且登录用户也有权创建新数据库.

这里缺少什么配置?

小智 30

MySQL数据目录可能存在权限问题.您可以尝试按如下方式设置权限(调整数据目录的路径)

chown -R mysql:mysql /usr/local/mysql/data
Run Code Online (Sandbox Code Playgroud)


jfl*_*fly 19

这可能是由于MySQL拒绝了许可.虽然您设置了datadir=/drbd0/mysql/data,但默认情况下是MySql set socket = /var/lib/mysql/mysql.sock,因此您应该拥有该目录的权限.

less /etc/group
Run Code Online (Sandbox Code Playgroud)

然后

less /etc/passwd
Run Code Online (Sandbox Code Playgroud)

找到mysql用户名和组名,默认情况下,它是mysql组中的mysql用户.

更改为mysql目录,可能/var/lib/mysql然后键入cd ..上一个目录.

chown -R mysql:mysql ./mysql/
Run Code Online (Sandbox Code Playgroud)

mysql:mysql如果您将组和用户权限称为不同,则替换为不同的内容


san*_*jai 11

这可能是空间问题.按照这个

  1. 检查/ var/lib/mysql中的.err日志
  2. 如果日志显示"[ERROR]无法启动服务器:无法创建PID文件:设备上没有剩余空间"

  3. 通过df -hk/var检查/ var大小

  4. 如果使用的是100%,那么你必须找到填充的文件.

  5. 通过find/var/-type找到/ var中的大文件f -size + 100000k -exec ls -lh {} \; | awk'{print $ 9":"$ 5}"

  6. 看看你可以删除哪个文件,然后重新启动mysql进程

  7. /etc/init.d/mysql restart

让我知道是否有效:)


Har*_*nan 9

对于Mac OS,请使用此命令

sudo chown -R mysql:mysql /usr/local/mysql*
Run Code Online (Sandbox Code Playgroud)

用户mysql应具有对mysql数据目录的写访问权.

  • 这对我有帮助。谢谢 。 (2认同)

Liu*_*uda 5

sudo chown -R mysql:mysql/var/lib/mysql /