本篇文章运行环境为:mysql8,Django3.2,python3.7.
学习使用Django进行到使用数据库时候,运行指令
python manage.py migrate
1:出现错误,显示为:
这个问题可能是加密方式导致,修改加密方式即可解决.
输入下方指令即可查看当前账户密码的加密方式:
输入指令:
alter user 'test2'@'10.118.8.169' identified with mysql_native_password by 'test2';
修改代码加密方式,再次查看,加密方式改变,问题解决。
2: 接下来继续运行,出现错误码1042,
如下图所示:
django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1142, "CREATE command denied to user
问题原因:当前用户没有相关权限。
执行以下指令,查看用户相关权限:
可以看到使用的test2用户有些权限为N,这时候可以在此处通过命令行修改,我通过DBeaver解决,比较方便。如下图所示:
赋予这个账户相关的表权限,即可运行。
如图所示: