修改项目下setting.py文件下,DATABASES字典中的default字典中的内容:DATABASES = { 'default': { # 'ENGINE': 'Django.db.backends.sqlit
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 pymysqlpymysql.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' # 访问数据库端口号 }}
--结束END--
本文标题: django配置使用mysql数据库过程
本文链接: https://lsjlt.com/news/228072.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0