web-dev-qa-db-fra.com

ERREUR 1006 (HY000) Impossible de créer la base de données (numéro d'erreur: 13) MySQL 5.6.12

J'ai du mal à créer la base de données et l'erreur suivante est générée.

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)

Voici ma table d'utilisateurs.

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)

Je peux créer et supprimer des tables dans la base de données existante.

Le répertoire de données a déjà les privilèges mysql: mysql et l'utilisateur connecté a le privilège de créer la nouvelle base de données.

Quelle configuration manque ici?

22
hardy_sandy

Il peut y avoir un problème d'autorisations avec le répertoire de données MySQL. Vous pouvez essayer de définir les autorisations comme suit (ajuster le chemin d'accès à votre répertoire de données)

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

Cela est probablement dû à une autorisation refusée par MySQL. Bien que vous ayez défini le datadir=/drbd0/mysql/data, mais par défaut MySql set socket = /var/lib/mysql/mysql.sock, vous devriez donc avoir les privilèges sur ce répertoire.

less /etc/group

et alors 

less /etc/passwd

trouver l'utilisateur mysql et le nom du groupe, par défaut, il s'agit de l'utilisateur mysql du groupe mysql.

passez à mysql dir, probablement /var/lib/mysql, puis tapez cd .. pour monter d’un répertoire.

chown -R mysql:mysql ./mysql/

Remplacez mysql:mysql par quelque chose de différent si votre groupe et vos privilèges d'utilisateur sont appelés différemment.

19
jfly

Cela pourrait être un problème d’espace . Suivez ceci

  1. Vérifiez les journaux .err dans/var/lib/mysql
  2. si le journal indique quelque chose comme "" [ERREUR] Impossible de démarrer le serveur: impossible de créer le fichier PID: aucun espace disponible sur le périphérique "

  3. Vérifier la taille/var par df -hk/var 

  4. si utilisé est 100%, alors vous devez trouver les fichiers qui sont remplis.

  5. rechercher un fichier volumineux dans/var par rechercher/var/-type f -size + 100000k -exec ls -lh {} \; | awk '{print $ 9 ":" 5 $}'

  6. voyez quel fichier vous pouvez supprimer puis redémarrer le processus mysql en

  7. /etc/init.d/mysql restart

laissez-moi savoir si cela a fonctionné :) 

11
sandejai

Pour Mac OS, utilisez cette commande

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

L'utilisateur mysql devrait avoir un accès en écriture au répertoire de données mysql. 

7
Harikrishnan

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

5
Liuda

Même problème, dans mon cas, j’ai changé le répertoire par défaut sur my.cf et le selinux l’a bloqué.

Tester:

setenforce 0

À corriger (CentOS)

Ajouter un contexte et le rendre permanent 

semanage fcontext -a -s system_u -t mysqld_db_t "/var/data/mysql(/.*)?" restorecon -Rv /var/data/mysql

source: https://naveensnayak.wordpress.com/2016/01/14/changing-mysql-data-directory-centos-7/

1

Désactivez SELinux surtout si vous utilisez CentOS. 

Vérifier Désactiver ou désactiver SELinux .

1
Wronski

si vous déplacez le dossier mysql vous redémarrez mysql, cela fonctionne

1
Guilherme Lopes

Dans /etc/mysql/my.cnf, définissez datadir =/home/mysql_data, qui Correspond à l'emplacement où se trouvent réellement les fichiers de base de données sur votre machine.

1
Mihai
  1. Vérifiez les permissions de votre répertoire de données mysql.
    Le répertoire de données est configuré par défaut dans '/etc/my.conf'.
    Ou utilisez mysqladmin -uroot -p variables | grep datadir pour trouver le répertoire.
    Il peut s'agir de /var/lib/mysql/ par défaut, et fait en sorte que l'utilisateur propriétaire et le groupe Soit mysql. chown -R mysql:mysql /usr/local/mysql/data

  2. Si cela n’a pas été résolu à l’étape 1. C’est peut-être à cause de SELinux dans votre manière, essayez de éteignez-le

    • Testez si SELinux est en cours d'exécution. selinuxenabled && echo enabled || echo disabled
    • Désactiver SELinux temporairement. echo 0 > /selinux/enforce 
    • Désactiver complètement SELinux. Modifiez config SELINUX=disabled et redémarrez. 

    Dans des systèmes d'exploitation différents, le répertoire de configuration de SELinux peut être différent.

1
Yanhui Zhou

Courir avec WAMP et moi avons eu le même problème, opté pour le traditionnel arrêt et démarrage de tous les services et qui l'a fait pour moi. J'ai été capable de créer la base de données après cela, je ne sais vraiment pas pourquoi je n'ai pas pu la créer au début, car je n'avais aucun problème d'espace ou de permission. J'espère que cela aidera les utilisateurs de WAMP

0
Mena