3

我正在编写 Django 教程,我想将我的项目连接到 MySQL 数据库。我按照 djangoproject 教程的说明做了所有事情来连接数据库。但是,在运行python manage.py syncdb时,我收到以下错误:

_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)") 

什么看起来有问题?我已经下载了 XAMMP,并且之前通过 XAMMP 创建了数据库,但我不知道这会如何影响与 Django 的连接。

谢谢。

4

2 回答 2

5

实际上在 settings.py 下,我设置HOST为“127.0.0.1”并设置PORT为 3306,填写了 DATABASE 部分的其余部分,它工作了!

于 2013-02-08T02:37:14.593 回答
3

如果您使用的是 Windows 7,如果您的 MySQL 配置为使用命名管道,您可能会遇到问题。将您的 MySQL 配置设置为使用 TCP。

 一旦你重新配置的 MySQL 允许本地网络连接,你的 MySQLdb 应该通过 TCP 工作。  

尽管“mysql”命令行客户端可以,但它似乎无法使用 Windows 7 命名管道。可能有一个错误。除非 MySQL 配置为没有网络连接,否则不会注意到这一点,这很少见。我在具有本地 MySQL 实例的开发机器上以这种方式设置 MySQL。

此处的详细文章 - http://interconnectit.com/764/using-mysql-workbench-with-xampp/ - 向您展示了可以将连接方法从命名管道(本地套接字/管道)切换到 TCP/IP的屏幕通过 Xampp。

在此处输入图像描述

或者,如果您的 python/django 应用程序使用命名管道 (windows) 或套接字 (linux/mac) 连接到 MySQL 对您很重要,并且您不想将连接方法更改为 TCP/IP,您应该尝试设置服务器名称为“。” 在你的 xampp 的 my.conf 配置文件中;而不是“本地主机”或“127.0.0.1”。使用管道/套接字绕过 TCP/IP 网络协议,性能稍好一些。

于 2012-11-03T02:08:33.347 回答