Django 1045 数据库连接错误解决及 SQLite 配置指南

Mason
Mason
发布时间:2026-10-13| 7人浏览过
原创

本文详解 Django 运行 migrate 时出现的 1045 权限拒绝错误,提供修改 settings.py 中 DATABASES 配置的具体步骤。同时介绍无需预建库的 SQLite 配置方案,并补充解决 PostgreSQL 时区差异导致查询结果不一致的技巧,帮助用户快速排查数据库连接问题。

Django 1045 数据库连接错误分析与解决

在参考菜鸟教程学习 Django 开发时,执行 "python manage.py migrate" 命令后遇到报错信息。

django.db.utils.OperationalError: (1045, “Access denied for user ‘账号'@'localhost' (using password: YES)”)。

该报错即为典型的数据库连接失败提示。

此错误通常表明连接数据库时提供的用户名或密码不正确。

解决方法是修改 setting.py 文件中的 DATABASES 配置项,具体修改方式可参考相关图示注释。


DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql', #引擎,根据使用数据库类型进行更换
    'NAME': 'test',#这里填写你的数据库名字
    'USER': 'test',#这里填写你的连接用户名
    'PASSWORD': 'test123',#填写你的连接密码
    'HOST':'localhost',#如果你的电脑没有联网,请把localhost换成127.0.0.1
    'PORT':'3306',
  }
}

需要注意的是,若使用 MySQL 等关系型数据库,必须先在数据库中手动创建好对应的数据库,才能建立连接。

SQLite 数据库配置与使用优势

此外,开发者也可以选择使用 SQLite 数据库,其 setting.py 配置方式如下所示。


DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.sqlite3',#引擎
    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
  }
}

使用 SQLite 的优势在于无需预先创建数据库文件即可直接连接使用。

PostgreSQL 时区差异导致的查询结果不一致处理

补充知识:记录 Django 查询 PostgreSQL 时遇到的一个常见陷阱。

相同的 SQL 语句,在 Navicat 客户端中查询的结果与通过 Django 框架查询出的数据存在差异。起初未予重视,直到差异过大才引起注意。经过半小时排查,经同事提示发现是时区设置问题,随即调整 settings 文件中的配置。

USE_TZ = False

将该配置调整为 False 后,问题得到完美解决。

以上即为 Django 连接数据库出现 1045 错误的完整解决方案及 SQLite 配置说明,希望能为读者提供参考。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。