您好,登錄后才能下訂單哦!
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql',
'NAME': 'danger', # 使用的數據庫名稱,需在mysql中先創建該數據庫
'USER': 'root', # 登錄的用戶名
'PASSWORD': 'mysql', # 用戶名密碼
'HOST': 'localhost', # 訪問的數據庫IP
'PORT': '3306' # 訪問數據庫端口號
}
}
create database danger;
執行時,遇到了報錯內容
“django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.”
解決該問題可采用兩種方法:
1)直接安裝mysqlclient
2)修改項目下的__init__.py文件:
import pymysql
pymysql.install_as_MySQLdb()
再次執行 python3 manage.py makemigrations,發現上面的報錯已經沒有了,有一條新的報錯:
django.db.utils.OperationalError: (1698, “Access denied for user ‘root’@’localhost’”)
原因為沒有考慮到mysql用root用戶登錄,需要系統超級用戶權限,即
sudo mysql -uroot -pmysql
grant all privileges on `danger`.* to 'test'@'localhost' identified by '123456'
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql',
'NAME': 'danger', # 使用的數據庫名稱,需在mysql中先創建該數據庫
'USER': 'test', # 登錄的用戶名
'PASSWORD': '123456', # 用戶名密碼
'HOST': 'localhost', # 訪問的數據庫IP
'PORT': '3306' # 訪問數據庫端口號
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。