2010-03-15 14 views
1

lorsque j'utilise sequel pro pour se connecter à une base de données distante, le serveur dit accès refusé. Je suis sûr à 100% que le nom d'utilisateur et le mot de passe sont corrects. J'essaie aussi d'utiliser phpmyadmin pour se connecter au serveur, ça marche. Je ne sais pas ce qui s'est passé quand j'utilise sequel pro pour se connecter au serveur.accès refusé pour l'utilisateur root, base de données mysql

+0

OK, j'ai résolu le problème, 1. ajouter une ligne dans mysql.user avec un accès root, et rendre l'hôte à mon adresse IP – Yang

+0

2. privilège flush (mais dans cette étape, je reçois un "mysql. erreur de table de serveurs non trouvée.) après un googling rapide, ceci est dû à l'absence de table de serveurs.) – Yang

+0

3. exécuter la déclaration de SQL suivante résoudra le problème. CREATE TABLE 'servers' ( ' Server_name' char (64) NOT NULL DEFAULT '', ' Host' char (64) NOT NULL DEFAULT '',' db' char (64) NOT NULL DEFAULT '', 'Nom d'utilisateur' char (64) NOT NULL DEFAULT '', ' Mot de passe' char (64) NOT NULL DEFAULT '', 'Port' int (4) NOT NULL DÉFAUT '0', ' Socket' char (64) NOT NULL DEFAULT '', 'Wrapper' char (64) NOT NULL DEFAULT '', ' Propriétaire' char (64) NOT NULL DEFAULT '', PRIMARY KEY ('Server_name') ) MOTEUR = MyISAM DEFAULT CHARSET = utf8 COMMENT = La table 'Serveurs étrangers MySQL' – Yang

Répondre

4

L'authentification mysql dépend non seulement du login + du mot de passe mais aussi de l'hôte. créer un autre utilisateur avec le login "root" et tout mot de passe que vous voulez et nécessaire (ou tout "%")

+0

salut, zerkms, merci beaucoup pour l'aide, mais la suite pro montre seulement l'erreur après avoir redémarré le serveur ce matin. cela fonctionnait bien. – Yang

3

Votre serveur MySQL autorise probablement uniquement les connexions root sur localhost, comme je le crois par défaut.

Étant donné que phpMyAdmin rebondit la connexion via un serveur Web fonctionnant sur le serveur SQL, la connexion racine semble provenir de localhost et être acceptée.

+0

merci beaucoup. Cela m'aide beaucoup dans ma compréhension du problème actuel. mais la suite pro utilisé pour travailler sur mon ordinateur portable, ce problème est arrivé après que j'ai redémarré le serveur. quelque chose d'encore plus bizarre est que mes coéquipiers peuvent toujours accéder au serveur mysql même après avoir redémarré le serveur. de l'aide? – Yang

+0

sur quel ordinateur le serveur fonctionne-t-il? – lunixbochs

+0

c'est un serveur interne exécutant mac os x. – Yang

0

J'ai eu le même problème, et la table des serveurs était déjà là. Il s'est avéré que sequel pro avait besoin d'avoir l'url socket spécifié.

Alors connectez-vous à la borne dans une base MySQL:

mysql -u root 

ensuite obtenir le statut de MySQL en tapant \s

Trouvez ce que votre chemin socket UNIX est, copier que coller au champ « socket » Sequel Pro.

Cela a fait pour moi.

+0

* se connecter à mysql dans le terminal bien sûr, pas l'inverse;) – Zdzichu