首页常见问题正文

用Python来配置MySQL数据库

更新时间:2023-02-14 来源:黑马程序员 浏览量:

IT培训班

  在一些大型的项目演练中,通常项目会拟采用MySQL存储商品数据、用户账户数据和订单等数据量较大、需持久化存储的数据,Django默认使用的数据库是sqlite3,下面分步骤介绍如何为Django项目配置MySQL数据库。

  1.新建MySQL数据库

  为项目配置MySQL数据库之前需先创建小鱼商城的数据库和授权用户,在本地主机新建MySQL数据库xiaoyu(编码方式为utf-8),创建MySQL用户itheima(密码为123456)并授权该用户访问xiaoyu_mall。

  2.配置MySQL数据库

  打开配置文件dev.py,修改DATABASES的配置信息,修改后的代码如下:

DATABASES = {
    'default': {
        # 'ENGINE':'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',     # 数据库引擎
        'HOST': '127.0.0.1',                      # 数据库主机
        'PORT':3306,                              # 数据库端口
        'USER':'itheima',                         # 数据库用户名
        'PASSWORD':'123456',                      # 数据库用户密码
        'NAME':'xiaoyu',                          # 数据库名字
    }
}

  3.安装PyMySQL扩展包

  数据库配置完成后可能出现以下错误:

   Error loading MySQLdb module: No module named 'pymysql'.

  出现以上错误是因为Django中操作MySQL数据库需要启动程序PyMySQL,而且前虚拟环境中没有驱动程序PyMySQL。安装PyMySQL可以解决以上错误:

  (xiaoyu_mall) E:\xiaoyu_mall>pip install PYMYSQL

  但是后期创建应用时又会出现以下异常:

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

  这是因为目前Python3使用的MySQL数据库驱动程序为mysqlclient。mysqlclient和PyMySQL实质上是由同一作者研发的不同版本的MySQL数据库驱动程序,PyMySQL相对陈旧,这里需要卸载PyMySQL,安装mysqlclient以解决异常,具体操作如下:

  (xiaoyu_mall) E:\xiaoyu_mall\xiaoyu_mall\apps>pip unistall pymysql 
  (xiaoyu_mall) E:\xiaoyu_mall\xiaoyu_mall\apps>pip install mysqlclient


分享到:
在线咨询 我要报名
和我们在线交谈!