无法通过Django连接MySQL

2 投票
2 回答
4650 浏览
提问于 2025-04-17 12:34

我安装了mysql,然后在python的命令行里输入 import 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()

出现了这个错误:

OperationalError: (2002, "无法通过套接字 '/var/run/mysql' 连接到本地 MySQL 服务器 (2)")

2 个回答

1

你在运行一个MySQL服务器吗?它是在:

  • 本地(使用unix域套接字),还是
  • 本地(使用tcp),还是
  • 本地但无法访问,还是
  • 其他地方的服务器?

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

1

Django说它的引擎应该是 https://docs.djangoproject.com/en/dev/ref/settings/#engine 'django.db.backends.mysql'

我认为数据库名称是指mysql里面的数据库名字,而不是一个路径。路径只是用于sqlite的。你有在运行mysql服务器吗?
USER和PASSWORD是必须的。host默认是localhost,端口默认是3306。

撰写回答