【发布时间】:2012-12-07 18:58:21
【问题描述】:
我通过 XAMPP 运行 MySQL,并且还安装了 MySQLdb for python。但是,我想不出一种将我的 XAMPP 的 MySQL 用于 Python 的方法。每次我执行python manage.py runserver 时都会显示错误:
..2.4c1-py2.7-win32.egg.tmp\MySQLdb\connections.py", line 187, in __init__
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")
我是 Python 新手,这些是 settings.py 文件中的设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'tester', # Or path to database file if using sqlite3.
'USER': 'root', # Not used with sqlite3.
'PASSWORD': 'password', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
我正在使用Django。如果我使用 SQLite3 而不是 MySQL,它可以正常工作。但我想用 MySQL。
编辑#1
MySQL 正在使用端口:3306。如何让它们工作?
【问题讨论】:
-
这似乎是一个微不足道的问题,但在尝试连接到数据库之前,您是否检查过 MySQL 服务器实际上已启动并在您的系统上运行?
-
是的。我检查了那个。当我执行
python manage.py runserver命令时,MySQL 正在运行。 -
你误解了 Django 的文档。它从来没有说它在端口 3306 上查找 MySQL。端口 8000 是 Web 应用程序本身默认由开发服务器提供服务的地方。您应该注意到,在您上面发布的代码中,
PORT有一个(空)条目。你试过填写吗? -
@DanielRoseman:是的,我填写了。我尝试了
3306和8000。还是没用。
标签: python mysql django xampp mysql-python