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
mysql_install_db
pour créer une base de données MySQL, puis 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 ?
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)
Cette instruction crée un nouvel utilisateur et accorde les autorisations sélectionnées. Par exemple :
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") :
Voir ce qui se passe