J'ai un problème avec l'utilisateur root MySQL dans l'installation de MySQL, et je ne peux tout simplement pas trouver de solution pour résoudre ce problème. Il semble que j'ai quelque peu raté l'utilisateur root, et mon accès aux bases de données est maintenant très erratique. Pour référence, j'utilise MAMP sur OS X pour fournir le serveur MySQL. Je ne suis pas sûr de savoir à quel point cela compte - je suppose que tout ce que j'ai fait nécessitera une correction en ligne de commande pour le résoudre.Impossible de diagnostiquer mon problème d'utilisateur root MySQL
Je peux démarrer MySQL en utilisant MAMP comme d'habitude, et accéder aux bases de données en utilisant les utilisateurs 'standards' que j'ai créés pour mes applications PHP. Cependant, l'utilisateur root, que j'utilise dans mon client MySQL GUI, et aussi dans phpMyAdmin, ne peut accéder qu'à la base de données "information_schema", ainsi qu'à deux que j'ai créées manuellement, et vraisemblablement (et par erreur) laissées largement ouvertes. Mes 15 autres bases de données ne sont pas accessibles à mon utilisateur root. Lorsque je charge phpMyAdmin, l'écran d'accueil indique: "Créer une nouvelle base de données: aucun privilège".
J'ai certainement modifié le mot de passe de mon utilisateur root en utilisant le dialogue MAMP. Mais je ne me souviens pas si j'ai fait quoi que ce soit d'autre qui aurait pu causer ce problème. J'ai essayé de changer le mot de passe encore, et il semble y avoir aucun changement dans le problème.
J'ai également essayé de réinitialiser le mot de passe root en utilisant la ligne de commande, y compris démarrer mysql manuellement avec --skip-grant-tables puis vider les privs, mais encore une fois, rien ne semble résoudre le problème.
Je suis arrivé à la fin de mes idées, et j'apprécierais beaucoup des conseils et des diagnostics étape par étape d'un des experts ici!
Un grand merci pour votre aide.
Salut Craig, Merci pour votre publication. voici les résultats de vos suggestions: select * from user où User = 'root'; donne 1 rang: "localhost", "root", "* 503872B3FA065DCF60 B67224E", puis une charge de 'Y de --- select * from tables_priv où l'utilisateur =' root '; et sélectionnez * à partir de db où User = 'root'; les deux donnent un « ensemble vide » --- Tous les « Afficher les subventions » commandes donnent l'erreur: « Le serveur MySQL est en cours d'exécution avec l'option --skip-grant-tables de sorte qu'il ne peut pas exécuter cette instruction » --- La commande "accorder tous les privilèges" donne la même erreur –
Wow, je pensais que les commentaires ici permettraient le formatage, mais évidemment pas!J'espère que vous pouvez lire tout ça. –
Lorsque je lance le serveur SANS --skip-grant-tables, je reçois ce qui suit: "show grants for root @ localhost;" donne: "DONNEZ TOUS LES PRIVILEGES SUR *. * A 'root' @ 'localhost' IDENTIFIE PAR MOT DE PASSE '* 503872B3FA065D B67224E' AVEC OPTION DE SUBVENTION" --- "show grants for root @ '%';" donne: "Il n'y a pas de telle subvention définie pour l'utilisateur 'root' sur l'hôte '%'" --- Est-ce que cela apporte quelque lumière que ce soit? Je n'ai toujours aucune idée de ce qui ne va pas. –