django.db.utils.OperationalError: (1045, “Access denied for user ‘root‘@‘localhost‘
Posted 活成自己的样子啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django.db.utils.OperationalError: (1045, “Access denied for user ‘root‘@‘localhost‘相关的知识,希望对你有一定的参考价值。
错误全部:
django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")
错误的大体意思是想表达,django链接不上你的数据库,可能是密码发生了错误。
【注意这里的password是 NO】
这个错误无疑是在使用django的时候遇到的,表示链接不上数据库:
首先,解决步骤分3步走:
1.检查自己的账号密码是否正确,或者检查一下自己的数据库是否正确:
使用window自带的命令行,发现可以进入,说明账号、密码没有问题。
进入数据库,发现数据库也没有问题。
2.网上说可能是因为版本的问题,导致密码加密的方式不一样了,我们需要调整一下:
输入:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
//把密码重新改为:123456,且使用的是mysql_native_password身份验证插件。
之后,我们在更新一下配置:
FLUSH PRIVILEGES;
(前提是你已经进入了数据库!如果是忘记了密码,就需要重新修改密码!)
2-1.忘记密码的前提下重新修改密码:
以我的为例:
找到当初初始化数据库的时候,建立的配置文件:
//my.ini
加上这样一句话:
skip-grant-tables
注意我这里重启数据库的操作。(net如果报错的话,就使用.\\net)
我的数据库服务叫:mysql222
.\\net stop mysql222
.\\net start mysql222
之后你再登录数据库就不用密码了。(建议修改完密码之后改回来)
注:图中的密码是我随便输入的,不是原密码(你输入什么都能进入数据库了)。
这里应该大部分都可以了,但是我还是报错。。
于是,就有了之后的方法:
3.检查配置项更改是否正确:
这里我不得不放上这张图了。
因为我得“password”拼错了,导致缺少了password配置项,使得无法连接数据库!!!
《分布式技术原理与算法解析》学习笔记Day11
调度框架:两层调度
为什么会有两层调度?
单体调度的核心是所有节点的资源以及用户的任务均由中央服务器统一管理和调度,这样中央服务器容易成为单点瓶颈。
为了提升调度效率并支持多种类型的任务,我们可以尝试把资源和任务分开调度,也就是说一层调度器负责资源管理和分配,另一层调度器负责任务与资源的匹配。
两层调度结构对应的是两层调度器,资源的使用情况同时由中央调度器和第二层调度器管理,中央调度器从整体上进行资源的管理和分配,将资源分配到第二层调度器,再由第二层调度器负责将资源与具体的任务匹配。
两层调度的详细结构图如下。
两层调度器中的第一层调度器仍是一个经过简化的中央调度器,通常放在分布式集群管理系统中,而第二层调度则是由各个应用程序框架完成。两层调度器的职责:
- 第一层调度器负责管理资源并向框架分配资源。
- 第二层调度器接收分布式集群管理系统中第一层调度器分配的资源,然后根据任务和接收到的资源进行分配。
常见的常用了两层调度结构的集群管理系统有:
- Apache Mesos
- Hadoop YARN
Mesos中的两层调度设计
Mesos本身实现的调度器是第一层调度,负责资源管理,第二层调度交给了应用框架来完成。
以Mesos为基础的分布式资源管理与调度框架包括两部分:
- 资源管理集群,由一个Master节点和多个Slave节点组成的集中式系统,它由一个Master节点,负责管理Slave节点,并对接上层框架,Slave节点向Master节点周期汇报资源状态信息,并执行框架提交的任务。
- 框架,负责应用管理和调度的“组件“,它主要由调度器和执行器组成,调度器可以从Master节点获取集群节点的信息,执行器在Slave节点上执行任务。
Mesos两层调度的基本原理:
- 框架向Mesos Master注册。
- Mesos Slave节点定期向Mesos Master上报本节点的空闲资源。
- Mesos Master的Scheduler进程收集所有节点的空闲资源信息,并以Resource Offer的方式将空闲的资源发送给注册的框架。
- 框架的Scheduler接收到Mesos发送的资源后,进行任务调度和匹配,匹配成功后,将匹配结构下发给Mesos Master,并由Mesos Master转发给相应节点的执行器执行任务。
Resource Offer机制是指Mesos Master主动将节点空闲资源以类似发放的方式发给每个框架,如果框架需要则使用,不需要则返回。
通过Resource Offer机制,第一层调度将资源主动告知第二层调度,然后第二层调度进行具体的任务分配,从而实现了任务调度与资源管理的分离,Mesos Master通过资源分配算法决定给各个Framework提供多少资源,而Framework决定了接受哪些资源,以及哪些任务使用这些资源运行。
在调度中,常见的资源分配算法包括:
- 最大最小公平算法
- 主导资源公平算法
最大最小公平算法是一种在兼顾公平的前提上,尽可能让更多满意的资源分配算法。这个算法有3个主要原则:
- 按照用户对资源资源需求量递增的顺序进行空闲资源分配。
- 不存在用户得到的资源超过了自己需求的情况。
- 对于分配资源不满足需求的用户,所获得的资源是相等的。
主导资源公平算法在考虑绝对公平的前提下,还考虑了用户对不同类型的需求,以可能得合理分配资源,即主导资源公平算法可以尽可能的满足更多用户。
最大最小公平算法适用于单一类型的资源分配场景,而主导资源公平算法适用于多种类型的混合场景。并且最大最小算法从公平的角度出发。为了每个用户分配不多于与需求量的资源,而主导资源公平算法从任务出发,目的在于充分尽量利用资源使得能够执行的任务越多越好。
以上是关于django.db.utils.OperationalError: (1045, “Access denied for user ‘root‘@‘localhost‘的主要内容,如果未能解决你的问题,请参考以下文章