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
421

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 :

J'ai installé mysql sur RHEL 5.7 64bit, le package d'installation est le suivant, une fois que j'ai terminé l'installation de rpm, nous allons

  1. Utilisez mysql_install_db pour créer une base de données MySQL, puis
  2. Démarrez le service mysql, puis
  3. L'utilisation de mysql_upgrade fonctionnera également sur le serveur. ≪/li>

Après ce processus, je peux me connecter en utilisant root, mais je ne peux pas me connecter au serveur avec un utilisateur non root :

[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)

C'est le problème que j'ai rencontré, existe-t-il une solution ?

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  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 laDocumentationpour 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
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!