Je viens d'installer MySQL Community Server (5.5.8) sur Mac OS X 10.6.6.
Je suis en train de suivre les règles d'une installation sécurisée (attribuez le mot de passe à racine, supprimez les comptes anonymes, etc.) Cependant, il y a un seul compte utilisateur que je ne peux pas laisser tomber: p> Comme vous pouvez le constater, MySQL ne signale aucune erreur lors de l'exécution de la commande goutte utilisateur, mais ne effectivement supprimer l'utilisateur! p> J'ai essayé également de supprimer également l'utilisateur de PHPMYADMIN (3.3.9) et qui produisit les mêmes résultats (c'est-à-dire le succès signalé, aucun message d'erreur, utilisateur non supprimé). p> J'ai fait des recherches sur cette question et certaines personnes suggèrent que la subvention peut bloquer la commande d'utilisateur DROP. Toutefois, l'utilisateur n'a aucun privilège de subvention: p> J'ai essayé Dressez à nouveau l'utilisateur après cela, mais il n'a pas non plus chuté / supprimé l'utilisateur. p> J'ai vérifié mes journaux d'erreur MySQL et il n'y a rien d'inhabituel là-bas. P> Le manuel MySQL suggère qu'il est possible de supprimer tous les comptes anonymes, alors pourquoi ne puis-je pas supprimer Celui-ci? p> p>
4 Réponses :
Vous pouvez toujours supprimer les enregistrements de la table utilisateur: p>
Cette méthode a été utilisée avant MySQL 4.1 ... p> mySQL> Supprimer de l'utilisateur où host = 'My-Computer-HostName.Local'; code>
Query OK, 2 rangées concernées (0,00 sec) CODE> P>
ou, pour supprimer simplement l'anonyme et non la racine aussi: p>
mySQL> Supprimer de mysql.user où utilisateur = '' et host = 'My-Computer-HostName.Local'; P>
a travaillé pour moi sur 5.1.57. P>
Ceci est un bug connu en raison de vos caractères majuscules: http: //bugs.mysql .com / bug.php? id = 62255 p>
Utilisez la suggestion de l'utilisateur Douger comme solution de contournement p>
mySQL inclut un compte utilisateur anonyme qui permet à quiconque de se connecter au serveur MySQL sans avoir un compte d'utilisateur. Ceci est signifié uniquement pour les tests et doit être supprimé avant que le serveur de base de données soit mis dans un environnement de production.
Exécutez le script SQL suivant sur le serveur MySQL pour supprimer le compte utilisateur anonyme: P>
FLUSH PRIVILEGES;