MySQL : Accès refusé à l'utilisateur 'test'@'localhost' sauf utilisateur root (vérification du mot de passe : oui)
P粉080643975
P粉080643975 2023-08-21 13:05:31
0
1
534
<p>J'ai un problème avec un utilisateur non root/administrateur de MySQL, j'ai suivi les étapes ci-dessous pour créer l'utilisateur et les autorisations, veuillez me corriger si j'ai fait quelque chose de mal : </p> <p>J'ai installé <code>mysql</code> sur <code>RHEL 5.7 64bit</code>, le package d'installation est le suivant, une fois que j'ai terminé l'installation de <code>rpm</code>, nous allons</p> <ol> <li>Utilisez <code>mysql_install_db</code> pour créer une base de données MySQL, puis </li> <li>Démarrez le service mysql, puis</li> <li>L'utilisation de <code>mysql_upgrade</code> fonctionnera également sur le serveur. ≪/li> </ol> <p>Après ce processus, je peux me connecter en utilisant <code>root</code>, mais je ne peux pas me connecter au serveur avec un utilisateur non root : </p> <pre class="brush:php;toolbar:false;">[root@clustertest3 ~]# rpm -qa | Client MySQL-avancé-5.5.21-1.rhel5 Serveur MySQL-avancé-5.5.21-1.rhel5 [root@clustertest3 ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock utilisateur = mysql # Par défaut, l'ancien format de mot de passe est utilisé pour la compatibilité avec MySQL 3.x # clients (ceux utilisant le package de compatibilité mysqlclient10). vieux_mots de passe = 1 # La désactivation des liens symboliques est recommandée pour éviter divers risques de sécurité ; # pour cela, décommentez cette ligne : # liens symboliques = 0 [mysqld_safe] log-erreur=/var/log/mysqld.log fichier-pid=/var/run/mysqld/mysqld.pid [root@clustertest3 ~]# ls -ld /var/lib/mysql/mysql.sock srwxrwxrwx 1 mysql mysql 0 30 novembre 11:09 /var/lib/mysql/mysql.sock mysql> CRÉER UN UTILISATEUR 'golden'@'%' IDENTIFIÉ PAR 'mot de passe'; Requête OK, 0 ligne affectée (0,00 s) mysql> ACCORDEZ TOUS LES PRIVILÈGES SUR * . Requête OK, 0 ligne affectée (0,00 s) mysql> Requête OK, 0 ligne affectée (0,00 s) mysql> SELECT USER(),CURRENT_USER(); +----------------+----------------+ | UTILISATEUR() | +----------------+----------------+ | racine@localhost | racine@localhost | +----------------+----------------+ 1 ligne dans l'ensemble (0,00 sec) [root@clustertest3 ~]# mysql -ugolden -p Entrer le mot de passe: ERREUR 1045 (28000) : Accès refusé pour l'utilisateur 'golden'@'localhost' (en utilisant le mot de passe : OUI)</pre> <p>C'est le problème que j'ai rencontré, existe-t-il une solution ? </p>
P粉080643975
P粉080643975

répondre à tous(1)
P粉301523298

Ne donnez pas toutes les autorisations aux utilisateurs non root sur toutes les bases de données, ce n'est pas sûr (et vous avez déjà un utilisateur "root" avec ce rôle)

GRANT <privileges> ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password';

Cette instruction crée un nouvel utilisateur et accorde les autorisations sélectionnées. Par exemple :

GRANT INSERT, SELECT, DELETE, UPDATE ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password';

Veuillez consulter la Documentation pour voir toutes les autorisations détaillées

EDIT : Vous pouvez trouver plus d'informations en utilisant cette requête (connecté en tant que "root") :

select Host, User from mysql.user;

Voir ce qui se passe

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal