OVH Community, your new community space.

MySQL impossible de créer utilisateurs / bdd


nowwhat
20/11/2015, 17h01
Quelques vérification à faire:

SHOW GRANTS FOR 'root'@'localhost';
net pas la même chose que
SHOW GRANTS FOR 'root'@'127.0.0.1';

Regarde dans ta liste des utilisateurs MySQL pour voir plus clair.

On est d'accord que le 'root' (qui ne se nomme pas forcement 'root', attention !) à par défaut accès à tout. Sinon: soucis.

Quand on installe un site CMS comme, par exemple, WP, inutile de passer pas ISPCONFIG.
Moi, perso, je procède comme WP me conseille de faire: je utilise l'outil universelle : phpmyadmin

Regarde par ici : https://codex.wordpress.org/fr:Insta...ant_phpMyAdmin

L'idée est de créer un
utilsateur
qui se connecte sur localhost (autrement dit 127.0.0.1)
avec un mot de passe 'motdepasse'
et tant que on y est, il va créer une base nommé 'utislateur'
et il donne l’utilisateur 'utilsateur' le droit d'opérer sur la base nommé 'utilsateur' et lui seule.
basta.

Tu me dirais : avec ispconfig on pourrait faire la même chose.
Ma réponse : j'espère
(inutile de dire que je déteste apprendre des truc que j'en ai pas besoin de savoir, donc ISPCONFIG, j'ai testé quelque jours pour le virer)

mgeoffray
20/11/2015, 16h06
Bonjour nowwhat,

merci pour ta réponse rapide !

Point effectivement que j'aurai dû préciser mais avant d'effectuer mon SELECT user,host FROM user; j'effectue bien un USE mysql; afin de me placer sur la table contenant les différents utilisateurs. J'y vois notamment ceux créés via Ispconfig lors que celui-ci fonctionnait...

Pour ton second point, malheureusement si je regarde les utilisateurs ayant des droits sur ma table mydb, l'utilisateur myuser n'est pas présent car celui-ci n'est pas créé (mon problème initial).


Voici les droits de mon utilisateurs "root" SHOW GRANTS FOR 'root'@'localhost';

| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*******' |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |


Il y a peut-être un autre soucis, ou une mauvaise méthodologie de ma part lors de la création manuelle mais j'aimerai surtout savoir pourquoi Ispconfig ne me créé plus mes utilisateurs. J'étais passé par la méthode manuelle afin de voir si une erreur plus explicite pouvait être trouvée.

Merci !

nowwhat
20/11/2015, 15h44
Citation Envoyé par mgeoffray
.....
A ce niveau je me connecte sur mon instance MySQL avec mon utilisateur root
mysql -u root -pzzzzzzzzzzz

SHOW DATABASES; me montre bien mydb
Jusqu'à la, ok ...

Mais dès ce point, ça ne va plus.
Citation Envoyé par mgeoffray
.....
Cependant SELECT user,host FROM user; me ne montre pas mon utilisateur myuser
Ok, mais, d'abord, il faut que tu choisi une base des données avec laquelle tu désires travailler.
N’oublie pas, t’es logger en tant que super chef auprès de ton serveur MySQL, souvent il se nomme ‘root’.
Contraire à un utilisateur ‘standard’ (par exemple, ton ‘myuser’), ‘root’ a accès à toutes les bases. Faut bien qu’il choisit une avant d'opérer (lancer des SELECT etc) sur une base.

Je t’invite à te logger auprès ton serveur MySQL avec l’utilisateur ‘myuser’ et tu découvres la petite nuance qui compte :
‘myuser’ n’a que des droits sur ‘mydb’ ** (et probablement information_schema)

Dès que t'as fait ça
USE mydb;
ET la table 'user' existe dans cette base,
ET les colonnes user et ost existent dans cette table 'user',
UN
SELECT user,host FROM user;
te donne des résultats


** : et c'est normal, ça renforce la sécurité.

mgeoffray
20/11/2015, 13h59
Bonjour,

je dispose d'un serveur Kimsufi avec Ispconfig 3 d'installé dessus.
Depuis peu je n'arrive plus à gérer mes bases de données / utilisateurs via ispconfig.
Les utilisateurs ne se créent plus alors que les bases oui.

Voici les procédures que je suis pour les créer.

Utilisateurs :
Sites > Utilisateurs de bases de données > Add new User
Client : xxxxx
Database user : myuser
Database password : mypwd
> Save

Base de données
Sites > Base de données > Ajouter une nouvelle base
Serveur : nsXXXX
Site : yyyyyyyy.fr
Type : MySQL
Nom de la base : mydb
Nom d'utilisateur : myuser
> Save

A ce niveau je me connecte sur mon instance MySQL avec mon utilisateur root
mysql -u root -pzzzzzzzzzzz

SHOW DATABASES; me montre bien mydb
Cependant SELECT user,host FROM user; me ne montre pas mon utilisateur myuser

Si je regarde les logs dans /var/log/ispconfig/ispconfig.log je vois bien les lignes de création
20.11.2015-13:29 - DEBUG - Calling function 'db_user_insert' from plugin 'mysql_clientdb_plugin' raised by event 'database_user_insert'.
20.11.2015-13:29 - DEBUG - Processed datalog_id 607
20.11.2015-13:29 - DEBUG - Calling function 'db_user_update' from plugin 'mysql_clientdb_plugin' raised by event 'database_user_update'.
20.11.2015-13:29 - DEBUG - Processed datalog_id 608
20.11.2015-13:29 - DEBUG - Calling function 'db_insert' from plugin 'mysql_clientdb_plugin' raised by event 'database_insert'.
20.11.2015-13:29 - DEBUG - Created MySQL database: mydb
20.11.2015-13:29 - DEBUG - GRANT for user myuser at host localhost
20.11.2015-13:29 - DEBUG - GRANT ALL ON mydb.* TO 'myuser'@'localhost' IDENTIFIED BY PASSWORD '*XXXXX'; success? no
20.11.2015-13:29 - DEBUG - Processed datalog_id 609
20.11.2015-13:29 - DEBUG - Remove Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
20.11.2015-13:30 - DEBUG - Set Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock


Si je lance directement via les lignes de commande je peux créer mon utilisateur
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'xxxx'; => OK
Dès que je lui attribue les droits j'ai une erreur
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; => ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'mydb'
Si j'essaie d'attribuer les privilèges GRANT à mon utilisateur root
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'zzzz' WITH GRANT OPTION; => ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


Désolé pour le grand message mais j'ai essayé d'être le plus précis possible.
Voilà où j'en suis bloqué mon domaine de compétence s'arrête ici !

En espérant trouver de l'aide ici.

Merci !