PyMySQL を使用して localhost で MySQL に接続しようとしています。
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、「'localhost' の MySQL サーバーに接続できません (111)」)
mysqlコマンドまたはphpMyAdminを使用して接続できるため、mysqldが実行されていることは確かです。さらに、Python 2 で MySQLdb を使用して、ほぼ同じコードで接続できます。
import MySQLdb
conn = MySQLdb.connect(db='base', user='root', passwd='pwd', host='localhost')
問題はMySQLではなくPyMySQL側にあるようですが、解決方法がわかりません。