2009-12-10 5 views
4

j'ai fait une commande de:# 1130 - hôte « localhost » est pas autorisé à se connecter à ce serveur MySQL

DROP USER 'root'@'localhost'; GRANT ALL PRIVILEGES ON . TO 'root'@'%'; 

... dans phpMyAdmin. Immédiatement après l'exécution, j'ai été forcé de sortir PhpMyAdmin. Je suis arrivé:

erreur

#1130 - Host 'localhost' is not allowed to connect to this MySQL server,

comment résoudre mon problème?

+0

Avez-vous émettez la commande comme 'root' @ 'localhost'? Les commandes sont exécutées dans l'ordre où vous les entrez, ainsi DROP USER aurait été exécuté en premier, et si vous avez laissé tomber l'utilisateur, vous essayez d'émettre des commandes, c'est pourquoi vous avez été "forcé de quitter phpMyAdmin" et votre seconde commande (GRANT) ne sera jamais exécuté. J'espère que vous avez accès à un autre utilisateur avec des privilèges GRANT. –

+0

Vous avez raison. La première commande a été exécutée mais la deuxième commande n'a pas été exécutée. Je n'ai pas accès à un autre utilisateur. Peut-être que j'ai, mais je ne me souviens pas. – Steven

+0

@Steven: Quelle version de MySQL utilisez-vous? 'mysqladmin' de la ligne de commande a été reconnu pour moi, en utilisant 4.1.x. J'ai trouvé le mysqladmin.exe dans Program Files \ MySQL 4.1 \ Bin - peut-être que vous devrez naviguer dans l'invite de commande vers le répertoire bin afin de pouvoir l'exécuter? Ce n'était pas le cas pour moi. –

Répondre

7

Utilisez l'adresse IP à la place:

DROP USER 'root'@'127.0.0.1'; GRANT ALL PRIVILEGES ON . TO 'root'@'%'; 

Pour plus de possibilités, voir this link.

Pour créer l'utilisateur root, car MySQL est locale & tous, exécutez la commande suivante à partir de la ligne de commande (Démarrer> Exécuter> "cmd" sans les guillemets):

mysqladmin -u root password 'mynewpassword' 

Documentation et Lost root access in MySQL.

+0

Où émettre/exécuter cette commande? – Steven

+0

À partir de PHPMyAdmin, connecté en tant qu'utilisateur autre que root avec les autorisations appropriées. –

+0

Je ne peux pas me connecter PHPMyAdmin – Steven

0

Trouver le fichier "config.inc.php" dans votre répertoire phpMyAdmin et modifier les lignes suivantes:

$cfg['Servers'][$i]['auth_type'] = 'config'; // config, http, cookie

$cfg['Servers'][$i]['user'] = 'root'; // MySQL user

$cfg['Servers'][$i]['password'] = 'TYPE_YOUR_PASSWORD_HERE'; // MySQL password

Notez que le mot de passe utilisé dans la Le champ 'mot de passe' doit être le même pour le mot de passe root MySQL. En outre, vous devriez vérifier si la connexion de root est autorisé dans cette ligne:

$cfg['Servers'][$i]['AllowRoot']  = TRUE;  // true = allow root login 

De cette façon, vous avez votre jeu de mot de passe root.

-1

Utilisez dans votre my.ini sous

[mysqldump] 
    user=root 
    password=anything 
Questions connexes