【django学习-14】Django配置mysql数据库,问题汇总

DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': BASE_DIR / 'db.sqlite3',
    # }
    'default': {
        'ENGINE': 'django.db.backends.MysqL',
        'NAME': 'mysite0912',
        'USER': 'root',
        'PASSWORD': 'xxx',
        'HOST':'xxxxx',
        'PORT':'3306',
    }
}

NAME即数据库的名字,在MysqL连接前该数据库必须已经创建,而上面的sqlite数据库下的db.sqlite3则是项目自动创建
USER和PASSWORD分别是数据库用户名和密码。
设置完后,再启动我们的Django项目前,我们需要激活我们的MysqL。
然后,启动项目,会报错:no module named MysqLdb
这是因为django认你导入的驱动是MysqLdb,可是MysqLdb对于py3有很大问题,所以我们需要的驱动是PyMysqL
所以,我们只需要找到项目名文件下的__init__,在里面写入:
import pyMysqL
pyMysqL.install_as_MysqLdb()
问题解决
import pyMysqL

pyMysqL.version_info = (1, 4, 13, "final", 0)  # 指定版本
pyMysqL.install_as_MysqLdb()
  • 3、执行python manage.py migrate

    • 处理方法
      • MysqL>grant all privileges on data.* to work; //data是数据库,work是操纵data的用户
      • MysqL>flush privileges; //刷新系统权限表
  • 4、再次执行,还是报错

    • 这是由于字段中有汉字,创建库时添加 charset=utf8,

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...