4

我已经通过 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. 我如何让他们工作?

4

3 回答 3

7

经过5-6个小时的尝试,我终于让它工作了。

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': '127.0.0.1',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.
    }
}

在 cmd: 中运行命令python manage.py runserver,然后打开网页。

于 2012-12-20T11:57:05.983 回答
2

您可以检查端口吗,因为 mysql 使用默认端口作为 3306(如果没有手动更改)

于 2012-12-20T09:45:17.097 回答
2

您很可能需要添加一个运行 mysql 的端口。这可能是 xampp 将 mysql 设置为标准 3306 以外的另一个端口。

你可以在django之外连接到mysql吗?

我猜你应该在 xampp 目录中找到一些 mysql.exe 文件。如果您通过终端导航到该目录,然后运行 ​​mysql.exe -uroot -p 。添加密码,这很可能是一个空白密码。

于 2012-12-20T09:45:25.900 回答