mysql mysql-5.6

ERROR 1006(HY000) No se puede crear la base de datos(error: 13) MySQL 5.6.12



mysql-5.6 (11)

  1. Verifique los permisos de su directorio de datos mysql.
    El directorio de datos está configurado en ''/etc/my.conf'' por defecto.
    O use mysqladmin -uroot -p variables | grep datadir mysqladmin -uroot -p variables | grep datadir para encontrar el directorio.
    Puede ser /var/lib/mysql/ por defecto, y asegura que el usuario propietario y el grupo sean mysql. chown -R mysql:mysql /usr/local/mysql/data

  2. Si no se ha resuelto en el paso 1. Puede ser debido a que SELinux en su camino, intente apagarlo .

    • Probar si SELinux se está ejecutando. selinuxenabled && echo enabled || echo disabled
    • Desactivación temporal de SELinux. echo 0 > /selinux/enforce
    • Completamente apagando SELinux. Cambie config SELINUX=disabled , y reinicie.

    En diferentes sistemas operativos, el directorio de configuración de SELinux puede ser diferente.

Estoy enfrentando un problema al crear la base de datos y da como resultado un error siguiente.

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)

Aquí está mi tabla de usuarios.

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)

Puedo crear y eliminar tablas en la base de datos existente.

El directorio de datos ya tiene privilegios de mysql: mysql y también el usuario registrado tiene privilegios para crear la nueva base de datos.

¿Qué configuración falta aquí?


Al ejecutar WAMP y yo tuvimos el mismo problema, opté por la parada y el inicio tradicionales de todos los servicios, y eso fue lo que yo hice. Después de eso pude crear la base de datos, realmente no sé por qué no pude crearla al principio, ya que no tuve ningún problema con el espacio o el permiso. Bueno espero que esto ayude a los usuarios de WAMP.




En /etc/mysql/my.cnf, configure datadir = / home / mysql_data, que es la ubicación donde realmente están los archivos de la base de datos en su máquina


Esto sucede probablemente debido a un permiso denegado por MySQL. Aunque establezca datadir=/drbd0/mysql/data , pero por defecto MySql set socket = /var/lib/mysql/mysql.sock , por lo que debe tener los privilegios para ese directorio.

less /etc/group

y entonces

less /etc/passwd

buscar el nombre de usuario y grupo de mysql, de forma predeterminada, es usuario de mysql en el grupo mysql.

cambie a mysql dir, probablemente /var/lib/mysql y luego escriba cd .. para subir un directorio.

chown -R mysql:mysql ./mysql/

Reemplace mysql:mysql con algo diferente si los privilegios de grupo y usuario se denominan de manera diferente


Para Mac OS usa este comando

sudo chown -R mysql:mysql /usr/local/mysql*

El usuario mysql debe tener acceso de escritura al directorio de datos de mysql.


Podría ser un problema con el espacio. Sigue esto

  1. Verifique los registros de .err en / var / lib / mysql
  2. si el registro dice algo como "[ERROR] No se puede iniciar el servidor: no se puede crear el archivo PID: no queda espacio en el dispositivo"

  3. Compruebe / var tamaño por df -hk / var

  4. Si se usa al 100%, entonces tienes que encontrar los archivos que se están llenando.

  5. encuentre el archivo grande en / var por encontrar / var / -type f -size + 100000k -exec ls -lh {} /; | awk ''{print $ 9 ":" $ 5}''

  6. vea qué archivo puede eliminar y luego reinicie el proceso mysql

  7. /etc/init.d/mysql restart

Déjame saber si eso funcionó :)


Puede haber un problema de permisos con el directorio de datos de MySQL. Puede intentar configurar los permisos de la siguiente manera (ajuste la ruta a su directorio de datos)

chown -R mysql:mysql /usr/local/mysql/data


si mueves la carpeta mysql, reinicias mysql, funciona


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