Python Can';t通过django连接到mysql

Python Can';t通过django连接到mysql,python,mysql,django,Python,Mysql,Django,我已经安装了mysql,在Pythonshell上导入MySQLdb可以工作。我还将settings.py更改为: **DATABASE_ENGINE = 'mysql' DATABASE_NAME = '/home/database/my_db.db' DATABASE_USER = '' DATABASE_PASSWORD = '' DATABASE_HOST = '' DATABASE_PORT = ''** 但当我测试连接时,它失败了 终端: >

我已经安装了mysql,在Pythonshell上导入MySQLdb可以工作。我还将settings.py更改为:

**DATABASE_ENGINE = 'mysql'
DATABASE_NAME = '/home/database/my_db.db'
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''    
DATABASE_PORT = ''**             
但当我测试连接时,它失败了

终端:

>>> from django.db import connection
>>> cursor = connection.cursor()
它给出的错误如下:

操作错误:(2002,“无法通过套接字'/var/run/MySQL'(2)连接到本地MySQL服务器”)


您正在运行MySQL服务器吗?是在:

  • 本地主机(unix域套接字),或
  • 本地主机(tcp),或
  • 本地主机但不可访问,或
  • 其他主持人

另外,数据库名是mysql理解的名称,而不是文件路径。

Django说它的引擎应该是'Django.db.backends.mysql'

我认为数据库名是mysql中数据库的名称,而不是路径。路径仅适用于sqlite。您有运行mysql服务器吗?

用户,密码是必需的。主机默认为localhost端口,默认值为3306。

是否使用xampp?,在这种情况下,请尝试添加用户名root。数据库的名称似乎有误。如果您在本地尝试django,那么主机应该是localhost。而
DATABASE_ENGINE
应该是这样的
ENGINE':'django.db.backends.mysql
@starcom:如果是用户/通行证问题,权限将被拒绝,而不是“无法连接”。要么mysql没有运行,要么python在错误的页面中查找套接字。错误转储中
/var/run/mysql
中的空格可能是原因。可能应该是
/var/run/mysql
@MarcB:ah没有注意到。仍然没有工作的家伙。。。。正如马克所说,我已经试过了。刚才我试着像starcorn说的那样。。。没有工作…对于django,不需要本地服务器。它只是通过默认端口中的sudo python manage.py runserver创建本地主机。@Sujit绝对错误。您需要运行MySQL。@Daniel,如果我使用xampp或您建议的任何工具,我该怎么做呢?是的,我是通过连接MySQL:$MySQL-u root-p###连接MySQL###并更改设置来实现的。py as:DATABASE_ENGINE='MySQL'DATABASE_NAME='my#db'DATABASE#u USER='root'DATABASE#u PASSWORD='password'DATABASE_HOST=''DATABASE_PORT=''这里数据库my_db是从mysql创建的,如下所示:mysql>CREATE DATABASE my_db.db