Les statistiques relatives à MySQL sur localhost, qui se rapportent à PyMySQL:
import pymysql
conn = pymysql.connect(db='base', user='root', passwd='pwd', Host='localhost')
dans Python 2.7, cliquez sur Python 3.2) dans les favoris:
socket.error: [Errno 111] a mis à jour des objets
pymysql.err.OperationalError: (2003, "aucune erreur n'est survenue avant que MySQL ne commence" localhost "(111)")
Сигурен съм, et mysqld работи, защото мога да се свързвамmysqlкоманда или phpMyAdmin. Dans le journal, il y a des problèmes avec MySQLdb dans Python Il y a 2 jours:
import MySQLdb
conn = MySQLdb.connect(db='base', user='root', passwd='pwd', Host='localhost')
Dans le catalogue, il est important de savoir que PyMySQL, et plus de MySQL, et plus encore, parmi les plus populaires MySQL, et plus précisément avec MySQL.
Deux suppositions:
Exécutez mysqladmin variables | grep socket
pour localiser le socket et essayez de configurer une connexion de la manière suivante:
pymysql.connect(db='base', user='root', passwd='pwd', unix_socket="/tmp/mysql.sock")
Exécutez mysqladmin variables | grep port
et vérifiez que le port est 3306. Sinon, vous pouvez définir le port manuellement, comme suit:
pymysql.connect(db='base', user='root', passwd='pwd', Host='localhost', port=XXXX)
On dirait que changer localhost
en 127.0.0.1
corrige l'erreur, du moins dans ma configuration . Si ce n'est pas le cas, je rechercherais les erreurs dans tcp sockets connection
et, bien sûr, le poster sous forme de bogue dans pymysql
bugtrack.
J'ai résolu le problème en remplaçant localhost
par 127.0.0.1
et en remplaçant le mot de passe par le mot de passe de ma base de données MYSQL, comme indiqué ci-dessous.
conn = pymysql.connect(
Host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = 'XXXXXXXXX',
db = 'mysql'
)
J'ai rencontré la même question et ma solution est la suivante.
Vous devez également ajouter le port à la connexion. Essayez ceci et cela fonctionne bien.
pymysql(Module Name).connect(Host="localhost", user="root", passwd="root", port=8889, db="db_name")