MySQL配置过程出现的问题:
1.MySQL启动时报错:发现系统错误2,系统找不到指定的文件
- 右击Windows图标,点击运行,输入regedit;
- 找到HKEY_CURRENT_MACHINE--->SYSTEM----->CURRENTCONTROLSET---->Services---->MYSQL
- 修改ImagePath的数值数据,将其更改为正确的MySQL的bin路径;
2.python – django.db.utils.OperationalError:(1045:用户’root’@’localhost’拒绝访问(使用密码:NO):
- mysql -u root -p
- use mysql;
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
- FLUSH PRIVILEGES;
- 依次执行上述步骤
3.django.db.utils.OperationalError: (1045, "Access denied for user 'ROOT'@'localhost' (using password: YES)")
- 方法一是输入mysql -hlocalhost -uroot -p,回车再输入密码,然后连接mysql;输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';回车就修改成功了
- 方法二是检查有没有出现拼写的错误,我耽误了一晚上事件找到了复制的文本中的ROOT4应该是小写root
4.django.db.utils.ProgrammingError: (1146, "Table 'webdb.index_goods' doesn't exist")
- 一开始由于不同类起别名重复导致表命名的重复,迁移数据库出现了错误,类中数据改正完成后,再次迁移报错
- 此时查看表,发现表index_goods已被改成了表goods
5.解决迁移数据库提示成功但无法在数据库中存储的问题
第一步:
进入数据库,找到django_migrations的表,删除该app名字对应的所有记录。
python manage.py dbshell
use+库名;
delete from django_migrations where app='';
第二步:
删除该app名字下的migrations下的除了__init__.py之外的文件。
第三步:执行下面这两条命令:(在项目目录下)
python manage.py makemigrations
python manage.py migrate
原因:
django_migrations表记录着数据库的对应表的修改记录。
每次修改后,都执行第三步的命令,然后在第二步的文件夹下生成修改的文件,django_migrations表记录修改的变更过程。
6.ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 修改Mysql密码策略
1.查看MySQL初始的密码策略
输入语句 SHOW VARIABLES LIKE 'validate_password%'; 进行查看
2.设置密码轻度为弱
set global validate_password_policy=LOW;
3.设置密码长度
set global validate_password_length=6;
4.更改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
7.centos安装mysqlclient出现OSError: mysql_config not found 的错误
sudo dnf install mysql-devel
pip3 install mysqlclient
之后便可以重新安装
8.django.core.exceptions.ImproperlyConfigured: 'django.db.backends.mysql' isn't an available database backend
在windows环境下可以无误运行,但到centos8服务器却无法运行,此时应将mysql去掉保留.;默认使用所有数据库即可使用。