MAMP mysql cassé utilisateur root
J'ai lu beaucoup de discussions sur DONC et quelques autres endroits et que vous n'avez pas été capable de réparer mon installation de mysql dans MAMP.
Arrière-plan. J'ai fait modifier ma racine de l'utilisateur de l'autre jour, dans une tentative pour obtenir un service de proximité pour vous connecter correctement. Après le redémarrage de ma machine phpmyadmin dans mamp ne s'affiche plus aucun de mes dbs et montré "Aucun privilège" pour créer une base de données. J'ai essayé beaucoup de choses pour restaurer les privilèges que j'ai lu ici et d'ailleurs en vain. --skip-grant-tables ne semble pas fonctionner. La connexion en tant que root dans le shell je n'ai pas la permission que localhost, mais je ne 127.0.0.1.
show grants for root@localhost;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
J'ai installé une nouvelle installation de MAMP et copié sur mon DBs. Bien que cela fonctionne, j'ai couru dans les cas où DBs ne présentent pas toutes les tables.
J'ai donc à résoudre l'un des deux problèmes. Je dois soit pour corriger l'installation d'origine ou de faire en sorte que la toutes les tables spectacle pour mon dbs dans mes frais mamp installer.
Leçon à retenir ici est de ne pas être paresseux et de la vis autour de votre utilisateur root en local et il suffit de créer une autre connexion.
Mise à JOUR
Lorsque je me connecte en tant que:
/Applications/MAMP/Library/bin/mysql -uroot -h127.0.0.1 -p
mysql> SHOW GRANTS FOR 'root'@'localhost';
+------------------------------------------------------------------------+
| Grants for root@localhost |
+------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `db`.* TO 'root'@'localhost' WITH GRANT OPTION |
+------------------------------------------------------------------------+
Mais lorsque je me connecte en tant que:
/Applications/MAMP/Library/bin/mysql -uroot -hlocalhost -p
mysql> SHOW GRANTS FOR 'root'@'localhost';
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
mysql> SELECT user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
mysql> SELECT current_user();
+----------------+
| current_user() |
+----------------+
| @localhost |
+----------------+
Donc, lorsque je me connecte en tant que localhost, soit par IP ou d'une douille, je suis en quelque sorte pas connecté en tant que root. Je trouve cela très confus?
OriginalL'auteur bikedorkseattle | 2012-10-17
Vous devez vous connecter pour publier un commentaire.
Après plusieurs jours de battre ma tête sur ce que j'ai découvert la solution. Il a fallu un certain temps pour recoller les morceaux, car l'installation de MAMP est un peu différente, puis une norme de l'installation de mysql. Je ne comprends toujours pas un peu de détails, mais ici nous allons.
Même si je suis connecter en tant que root la réalité est que j'ai été un utilisateur anonyme a indiqué ci-dessus et "@'localhost'. Donc, il y a manifestement une erreur d'autorisations qui comporte trois parties: le nom d'utilisateur, mot de passe, et l'hôte. Donc, quelque chose à propos de mon compte root changé (je crois que c'était le mot de passe), mais comment tout cela a été un peu bancale, car au lieu de me dire mon mot de passe et nom d'utilisateur combo était incorrect, j'étais connecté avec aucune autorisation. Je crois que j'ai aggravé cette situation un peu à l'exécution de certaines commandes comme ci-dessous.
À la fin, voici ce que j'ai fait, et je veux faire comprendre c'est les instructions pour une installation de MAMP sur OS X, même si je suis sûr qu'ils peuvent être facilement adaptés pour Windoz.
Grand merci à ce fil pour m'aider à voir la lumière sur la façon de résoudre ce problème.
Exécutez la commande suivante, en remplaçant le numéro de port par celui que vous utilisez. Cela va démarrer mysql moins les autorisations de l'utilisateur.
/Applications/MAMP/Library/libexec/mysqld --skip-grant-tables --port=8889 --socket=/Applications/MAMP/tmp/mysql/mysql.chaussette
Dans votre console de connexion à mysql avec pas de creds.
Exécuter les commandes ci-dessous.
flush privileges;
ACCORDER à TOUS sur . 'nom d'utilisateur'@'localhost' identified by 'mot de passe';
Arrêter et redémarrer mysqld sans le skip-grant-tables option
De connexion à mysql pour confirmer que les choses fonctionnent.
Vous aurez besoin pour réparer votre phpmyadmin. Je veux commencer ce avec pour une raison que je ne comprends pas ces changements, afin de ne pas propager rapidement, et tout d'un coup juste de commencer à travailler.
Aller dans /Application/MAMP/bin/phpMyAdmin/config.inc.php et entrez les informations d'identification correctes pour votre nouvellement créé de connexion. Assurez-vous qu'ils sont exacts, y compris l'hôte.
Enfin après phpmyadmin fonctionne aller dans la base de données mysql.l'utilisateur de la table et de voir où les choses ont mal tourné. Il est important de comprendre qu'est ce qui a foiré.
Il ya quelques choses à propos de ce qui s'est passé dans le ci-dessus que j'aimerais quelques précisions, notamment sur le pourquoi MAMPs phpmyadmin identification des changements ne fonctionnent pas immédiatement.
Espère que tout cela contribue à!
afin de clarifier la au-dessus de la subvention devraient tous être de la subvention ll (astérisque).( * ) l'astérisque (maj-8), apparemment, n'est pas visible
OriginalL'auteur bikedorkseattle