Django项目中MySQL配置过程出现的问题

8 篇文章 0 订阅
4 篇文章 0 订阅

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去掉保留.;默认使用所有数据库即可使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hithithithithit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值