django mysql 数据库配置文件_django配置使用mysql数据库过程

本文详细介绍了在Django项目中如何配置并连接MySQL数据库,包括修改settings.py文件,创建数据库,执行迁移操作。在遇到mysqlclient版本不匹配和数据库访问权限错误的问题时,分别给出了安装mysqlclient和创建新用户的解决方案。最后成功执行了模型迁移和数据库迁移。
摘要由CSDN通过智能技术生成

1. 修改项目下setting.py文件下,DATABASES字典中的default字典中的内容:

```python

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' # 访问数据库端口号

}

}

```

2. 以“danger”为例,在mysql中创建数据库

```sql

create database danger;

```

3. 执行 python3 manage.py makemigrations创建模型迁移

4. 执行时,遇到了报错内容

“django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.”

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200429225413222.png#pic_center)

5. 解决该问题可采用两种方法:

1)直接安装mysqlclient

2)修改项目下的\_\_init\_\_.py文件:

```python

import pymysql

pymysql.install_as_MySQLdb()

```

6. 笔者采用了第一种方法直接安装mysqlclient,安装方法:

1)安装依赖包:sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

2)pip install mysqlclient

7. 再次执行 python3 manage.py makemigrations,发现上面的报错已经没有了,有一条新的报错:

django.db.utils.OperationalError: (1698, "Access denied for user 'root'@'localhost'")

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200429231701778.png#pic_center)

8. 原因为没有考虑到mysql用root用户登录,需要系统超级用户权限,即

sudo mysql -uroot -pmysql

9. 在mysql中新建一个用户

```sql

grant all privileges on `danger`.* to 'test'@'localhost' identified by '123456'

```

10. 再修改setting.py文件

```python

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' # 访问数据库端口号

}

}

```

11. 执行 python3 manage.py makemigrations成功创建模型迁移

12. 执行迁移生成表python3 manage.py migrate

13. 完成

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69972732/viewspace-2689356/,如需转载,请注明出处,否则将追究法律责任。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值