I ' m пытается подключиться к MySQL на локальном хосте с помощью PyMySQL:
import pymysql
conn = pymysql.connect(db='base', user='root', passwd='pwd', host='localhost')
, но (как на Python 2.7, так и на Python 3.2) я получаю сообщение об ошибке:
socket.error: [Errno 111] В соединении отказано
pymysql.err.OperationalError : (2003, «Не удается подключиться к серверу MySQL на 'localhost' (111)»)
Я уверен, что mysqld работает, потому что я могу подключиться с помощью команды mysql или phpMyAdmin. Более того, я могу подключиться с помощью MySQLdb на Python 2 с почти тем же кодом:
import MySQLdb
conn = MySQLdb.connect(db='base', user='root', passwd='pwd', host='localhost')
Кажется, что проблема находится на стороне PyMySQL, а не MySQL, но я не знаю, как ее решить.
я спросил, почему обработанный сокет, но не TCP и ответ был то, что bind-address
в /etc/my.cnf
не был установлен правильно. Это могло быть Вашей проблемой также, так как методы сокета работают просто великолепно, но TCP каждый не делает.