「Django」与mysql8连接的若干问题

1、setting配置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库驱动名
'NAME': 'my_test', #数据库名称
'USER': 'root', # 用户名
'PASSWORD': '123', #密码
'HOST': '127.0.0.1', #IP地址
'PORT': '3306', # 端口号

2、mysql8.x的错误及解决

错误:_mysql_exceptions.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded) 

navicat连接也会有类似错误

解决:

USE mysql;

# 修改加密方式 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

这一步网上都是这样写的,但实际解决有些出入

1、root@localhost 是不加‘’的

2、这样修改以后navicat可以连接,但是django远程依然无法连接

3、用navicat修改root权限为root@%

 

# 刷新数据库 FLUSH PRIVILEGES;

 

3、同步数据库

查看数据库已有表格的结构

manage.py下使用inspectdb即可

 

 

posted @ 2018-11-28 10:39  子谦0618  阅读(749)  评论(0编辑  收藏  举报