「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即可