【发布时间】:2013-08-11 01:34:44
【问题描述】:
我正在学习python,我正在尝试连接数据库:
- 操作系统 Ubuntu 13.04
- 我已经运行了 apache 和 localhost
- 我正在使用 eclipse pydev
- 我已经安装了从这里下载的mysql连接器:http://dev.mysql.com/downloads/connector/python/(一个.deb文件)
- 我已经安装了 sudo apt-get install python-mysqldb
- 列表项
这是我的代码(简单)(带有适当的缩进):
#!/usr/bin/python
import MySQLdb
try:
db = MySQLdb.connect(host="localhost", # your host, usually localhost
user="root", # your username
passwd="root", # your password
db="Ayuda") # name of the data base
except Exception as a:
print a
cur = db.cursor()
cur.execute("SELECT * FROM YOUR_TABLE_NAME")
for row in cur.fetchall() :
print row[0]
所以我得到了这个错误:
(2002, "无法通过套接字连接到本地 MySQL 服务器 '/var/run/mysqld/mysqld.sock' (2)")
我该如何解决这个问题?
【问题讨论】:
-
从命令行运行
service mysql status的结果是什么? -
当我在 eclipse 中运行时,在控制台中出现:(2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) ") Traceback(最近一次调用最后一次):文件“/home/elfstone/Documents/workspace/FirstPythonProject/DB.py”,第 20 行,在
cur.execute("SELECT * FROM YOUR_TABLE_NAME") NameError: name ' cur' 没有定义你指的是这个吗?