Se connecter sur la base de données MySQL distante via Python
J'ai essayé le script suivant, mais malheureusement ne fonctionne pas. Je suis l'utilisation gratuite d'un fournisseur de base de données MySQL. Des idées?
import MySQLdb
myDB = MySQLdb.connect(host="208.11.220.249",port=3306,user="XXXXX",passwd="XXXXX",db="XXXXX")
cHandler = myDB.cursor()
cHandler.execute("SHOW DATABASES")
results = cHandler.fetchall()
for items in results:
print items[0]
Actuellement, j'obtiens l'erreur suivante:
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1044, "Access denied for user 'XXXXX'@'%' to database 'XXXXX'")
ce qui ne fonctionne pas? vous obtenez un message d'erreur ou rien du tout est de sortie
Avez-vous tester pour vous connecter à l'aide de la
Pouvez-vous vous connecter à la même base de données dans le même hôte avec ces informations d'identification d'une autre façon? comme à partir de la ligne de commande ou une interface graphique de l'outil?
Avez-vous tester pour vous connecter à l'aide de la
mysql
client en ligne de commande?Pouvez-vous vous connecter à la même base de données dans le même hôte avec ces informations d'identification d'une autre façon? comme à partir de la ligne de commande ou une interface graphique de l'outil?
OriginalL'auteur user706838 | 2012-10-19
Vous devez vous connecter pour publier un commentaire.
Modifier
C'est SQL que vous feriez exécuter sur la base de données afin de s'assurer que les
user
a accès à tout.pwd
est leuser
'mot de passe.Fondamentalement, cette réponse suppose que le problème de connexion est un problème d'informations d'identification.
Qu'est-ce que ce excatly?
est-il un moyen pour exécuter cette commande via python. J'ai essayé le curseur de l'objet, mais également de donner à l'erreur accès refusé.
OriginalL'auteur solaimuruganv
C'est ce que je ferais
mysql -u XXXX -h 208.11.220.249 -p
. Si votre client mysql ne peut pas se connecter, il n'existe aucun moyen vous pouvez vous connecter à l'aide de pythonOriginalL'auteur Ranjith Ramachandra
Vous n'avez pas la permission pour la connexion à la base de données avec cet utilisateur.
Suivez ces étapes:
1.essayez de vous connecter à la base mysql:
mysql -h208.11.220.249 -uXXXXX -pXXXXX XXXXX
2.Si vous n'avez pas la permission pour la connexion à la DB ,essayez de créer un utilisateur qui possède à distance autorisation
ACCORDER À TOUS LES
SUR DB.* -- Nom de base de données
POUR user@ip: adresse ip du client
IDENTIFIÉ PAR 'pwd';
3.sur la dernière case de mon.cnf . "bind-address" doit être 0.0.0.0 Si vous souhaitez vous connecter à distance tout d'adresses.
SI vous avez une connexion spéciale DB ,Vous pouvez avoir accès à cette base.Exécutez la commande par exemple cHandler.execute("SHOW TABLES").SI cette commande fonctionne,vous n'avez pas la permission de voir toutes les bases de données.
OriginalL'auteur mahdieh Saeed
ouvrez votre base de données dans mysql et tapez la commande suivante :
où x est l'adresse ip de l'utilisateur qui souhaite accéder à votre base de données.
utiliser ce lien pour plus d'informations:
Comment Permettre à MySQL Client pour se Connecter à un serveur MySQL Distant
OriginalL'auteur Koolkarni