【发布时间】:2010-12-07 12:39:50
【问题描述】:
我刚开始接触 Python 并决定也下载 Django 框架,我的工作正常,但后来我尝试创建我的第一个“Django 应用程序”(Django 网站上的教程),当我遇到“数据库设置”我开始遇到问题我使用的是 Windows 7,在上传到服务器之前我一直在 WAMP 中使用 MySQL,所以我想我也会在这里尝试这个,但我就是不能即使在像这样配置 settings.py 之后也可以连接它:
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'Python' # Or path to database file if using sqlite3.
DATABASE_USER = 'root' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = 'localhost' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
然后我下载并设法正确安装 MySQLdb,因此我现在可以执行 python import MySQLdb 但是我收到此消息,我真的不知道如何解决这个问题:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line
362, in execute_manager
utility.execute()
File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line
303, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 195,
in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 221,
in execute
self.validate()
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 249,
in validate
num_errors = get_validation_errors(s, app)
File "C:\Python26\lib\site-packages\django\core\management\validation.py", lin
e 67, in get_validation_errors
connection.validation.validate_field(e, opts, f)
File "C:\Python26\lib\site-packages\django\db\backends\mysql\validation.py", l
ine 15, in validate_field
db_version = connection.get_server_version()
File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 29
7, in get_server_version
self.cursor()
File "C:\Python26\lib\site-packages\django\db\backends\__init__.py", line 81,
in cursor
cursor = self._cursor()
File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 28
1, in _cursor
self.connection = Database.connect(**kwargs)
File "C:\Python26\lib\site-packages\MySQLdb\__init__.py", line 75, in Connect
return Connection(*args, **kwargs)
File "C:\Python26\lib\site-packages\MySQLdb\connections.py", line 170, in __in
it__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'lo
calhost' (10061)")
我还是应该配置一些东西还是我在某些时候配置错误?此外,我不完全确定此时是否应该运行 WAMP =S,但在 Google 上找不到任何关于我面临的问题的信息。
【问题讨论】:
-
您确定 MySQL 正在运行吗?如果您使用的是 WAMP,则可能需要运行它才能使用 MySQL。除非你知道你已经单独运行 MySQL。
-
我确定当我单击 WAMP 图标然后单击 MySQL 文件夹,然后服务文件夹“启动/恢复服务”被禁用并且它显示“正在运行”我也尝试停止它并重新启动它但还是什么都没有
-
我遇到了同样的问题,只是将:DATABASE_HOST = 'localhost' 替换为 DATABASE_HOST = '127.0.0.1' 解决了这个问题