【发布时间】:2020-11-25 11:26:31
【问题描述】:
我正在尝试在运行 ubuntu 20.04 的 VPS 中部署 django 应用程序。
我的设置.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file':'/home/ubuntu/arainc/auth/mysql.cnf'
},
}
}
以及配置文件:
#mysql.cnf
[client]
database = 'dbname'
user = 'dbuser'
password = 'dbuser@123'
default-character-set = 'utf8'
在尝试访问该站点时,我收到以下错误:
Environment:
Request Method: GET
Request URL: http://208.115.109.194/
Django Version: 3.0.7
Python Version: 3.8.2
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'araincdb',
'import_export',
'crispy_forms',
'django_filters',
'widget_tweaks']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "/home/ubuntu/arainc/venv/lib/python3.8/site-packages/django/contrib/sessions/backends/base.py", line 199, in _get_session
return self._session_cache
During handling of the above exception ('SessionStore' object has no attribute '_session_cache'), another exception occurred:
File "/home/ubuntu/arainc/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 220, in ensure_connection
self.connect()
File "/home/ubuntu/arainc/venv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 197, in connect
self.connection = self.get_new_connection(conn_params)
File "/home/ubuntu/arainc/venv/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/home/ubuntu/arainc/venv/lib/python3.8/site-packages/django/db/backends/mysql/base.py", line 233, in get_new_connection
return Database.connect(**conn_params)
File "/home/ubuntu/arainc/venv/lib/python3.8/site-packages/MySQLdb/__init__.py", line 130, in Connect
return Connection(*args, **kwargs)
File "/home/ubuntu/arainc/venv/lib/python3.8/site-packages/MySQLdb/connections.py", line 185, in __init__
super().__init__(*args, **kwargs2)
Exception Type: OperationalError at /
Exception Value: (1045, "Access denied for user 'www-data'@'localhost' (using password: NO)")
我可以使用配置文件中的凭据登录数据库。
我该如何解决这个问题?任何帮助将不胜感激。
【问题讨论】:
-
我认为 django 无法读取路径,'read_default_file':'/home/ubuntu/arainc/auth/mysql.cnf',您能否进一步了解定义路径,只是一个建议。
标签: mysql django django-deployment