Python框架之Django的数据库

在执行migrate的时候出现问题(错误见末尾)

django.db.utils.OperationalError: (1045, "Access denied for user ‘ODBC‘@‘localho

st‘ (using password: YES)")

 

Unhandled exception in thread started by <function check_errors.<locals>.wrapper

 at 0x031BD6F0>

Traceback (most recent call last):

  File "C:\Python36\lib\site-packages\django\db\backends\base\base.py", line 

, in ensure_connection

    self.connect()

  File "C:\Python36\lib\site-packages\django\db\backends\base\base.py", line 

, in connect

    self.connection = self.get_new_connection(conn_params)

  File "C:\Python36\lib\site-packages\django\db\backends\mysql\base.py", line 

, in get_new_connection

    conn = Database.connect(**conn_params)

  File "C:\Python36\lib\site-packages\MySQLdb\__init__.py", line , in Connect

    return Connection(*args, **kwargs)

  File "C:\Python36\lib\site-packages\MySQLdb\connections.py", line , in __in

it__

    super(Connection, self).__init__(*args, **kwargs2)

_mysql_exceptions.OperationalError: (, "Access denied for user ‘ODBC‘@‘local

host‘ (using password: YES)")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File "C:\Python36\lib\site-packages\django\utils\autoreload.py", line , in

wrapper

    fn(*args, **kwargs)

  File "C:\Python36\lib\site-packages\django\core\management\commands\runserver.

py", line 125, in inner_run

    self.check(display_num_errors=True)

  File "C:\Python36\lib\site-packages\django\core\management\base.py", line ,

 in check

    include_deployment_checks=include_deployment_checks,

  File "C:\Python36\lib\site-packages\django\core\management\base.py", line ,

 in _run_checks

    return checks.run_checks(**kwargs)

  File "C:\Python36\lib\site-packages\django\core\checks\registry.py", line ,

in run_checks

    new_errors = check(app_configs=app_configs)

  File "C:\Python36\lib\site-packages\django\core\checks\model_checks.py", line

, in check_all_models

    errors.extend(model.check(**kwargs))

  File "C:\Python36\lib\site-packages\django\db\models\base.py", line , in c

heck

    errors.extend(cls._check_fields(**kwargs))

  File "C:\Python36\lib\site-packages\django\db\models\base.py", line , in _

check_fields

    errors.extend(field.check(**kwargs))

  File "C:\Python36\lib\site-packages\django\db\models\fields\__init__.py", line

 , in check

    errors = super(AutoField, self).check(**kwargs)

  File "C:\Python36\lib\site-packages\django\db\models\fields\__init__.py", line

 , in check

    errors.extend(self._check_backend_specific_checks(**kwargs))

  File "C:\Python36\lib\site-packages\django\db\models\fields\__init__.py", line

 , in _check_backend_specific_checks

    return connections[db].validation.check_field(self, **kwargs)

  File "C:\Python36\lib\site-packages\django\db\backends\mysql\validation.py", l

ine , in check_field

    field_type = field.db_type(self.connection)

  File "C:\Python36\lib\site-packages\django\db\models\fields\__init__.py", line

 , in db_type

    return connection.data_types[self.get_internal_type()] % data

  File "C:\Python36\lib\site-packages\django\utils\functional.py", line , in _

_get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "C:\Python36\lib\site-packages\django\db\backends\mysql\base.py", line 

, in data_types

    if self.features.supports_microsecond_precision:

  File "C:\Python36\lib\site-packages\django\utils\functional.py", line , in _

_get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "C:\Python36\lib\site-packages\django\db\backends\mysql\features.py", lin

e , in supports_microsecond_precision

    return self.connection.mysql_version >= (, , ) and Database.version_info

>= (, , )

  File "C:\Python36\lib\site-packages\django\utils\functional.py", line , in _

_get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "C:\Python36\lib\site-packages\django\db\backends\mysql\base.py", line 

, in mysql_version

    with self.temporary_connection() as cursor:

  File "C:\Python36\lib\contextlib.py", line , in __enter__

    return next(self.gen)

  File "C:\Python36\lib\site-packages\django\db\backends\base\base.py", line 

, in temporary_connection

    cursor = self.cursor()

  File "C:\Python36\lib\site-packages\django\db\backends\base\base.py", line 

, in cursor

    return self._cursor()

  File "C:\Python36\lib\site-packages\django\db\backends\base\base.py", line 

, in _cursor

    self.ensure_connection()

  File "C:\Python36\lib\site-packages\django\db\backends\base\base.py", line 

, in ensure_connection

    self.connect()

  File "C:\Python36\lib\site-packages\django\db\utils.py", line , in __exit__

    six.reraise(dj_exc_type, dj_exc_value, traceback)

  File "C:\Python36\lib\site-packages\django\utils\six.py", line , in reraise

    raise value.with_traceback(tb)

  File "C:\Python36\lib\site-packages\django\db\backends\base\base.py", line 

, in ensure_connection

    self.connect()

  File "C:\Python36\lib\site-packages\django\db\backends\base\base.py", line 

, in connect

    self.connection = self.get_new_connection(conn_params)

  File "C:\Python36\lib\site-packages\django\db\backends\mysql\base.py", line 

, in get_new_connection

    conn = Database.connect(**conn_params)

  File "C:\Python36\lib\site-packages\MySQLdb\__init__.py", line , in Connect

    return Connection(*args, **kwargs)

  File "C:\Python36\lib\site-packages\MySQLdb\connections.py", line , in __in

it__

    super(Connection, self).__init__(*args, **kwargs2)

django.db.utils.OperationalError: (, "Access denied for user ‘ODBC‘@‘localho

st‘ (using password: YES)")

这里很奇怪为什么我配置的用户是 admin_py 怎么会显示 ‘ODBC’@‘localhost’?

有人说是账号密码错误,通过报错看来的和账号密码错误相关,但是手工去登陆mysql是OK的啊!

折腾了一会儿,仔细看官方文档配置:

DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.postgresql‘,
‘NAME‘: ‘mydatabase‘,
‘USER‘: ‘mydatabaseuser‘,
‘PASSWORD‘: ‘mypassword‘,
‘HOST‘: ‘127.0.0.1‘,
‘PORT‘: ‘‘,
}}

我自己的配置:

DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘HOST‘: ‘127.0.0.1‘,
‘PORT‘: ,
‘NAME‘: ‘platform_admin_py‘,
‘USERNAME‘: ‘admin_py‘,
‘PASSWORD‘: ‘admin‘,
}
}

发现了没有?用户名的的那个KEY不对! 我承认我这是从网上看别人的配置写的,偷懒了,这就是代价

本文出自 “影子骑士” 博客:http://andylhz2009.blog.51cto.com/728703/1923552

在执行migrate的时候出现问题(错误见末尾): django.db.utils.OperationalError: (1045, "Access denied for user ‘ODBC‘@‘localho st‘ (using password: YES)")的更多相关文章

  1. 42.Pycharm连接数据库出现错误:1045、1044:django.db.utils.OperationalError: (1045, "Access denied for user 'Whois'@'localhost' (using password: YES)”)

    1.在pycharm中设置好数据库的连接信息,连接数据库db01, DATABASES = { 'default': { # 指定所使用的的数据库引擎 'ENGINE': 'django.db.bac ...

  2. django.db.utils.OperationalError: 1045错误

    django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using pass ...

  3. Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using password: NO) 的一种解决方法

    运行环境: Django版本2.0 ; Mysql 版本 8.0.11; 错误代码:  django.db.utils.OperationalError: (1045:Access denied fo ...

  4. CM使用MySQL数据库预处理scm_prepare_database.sh执行报错:java.sql.SQLException: Access denied for user 'scm'@'hadoop101.com' (using password: YES)

    1.报错提示: [root@hadoop101 ~]# /opt/module/cm/cm-/share/cmf/schema/scm_prepare_database.sh mysql cm -hh ...

  5. Win7环境下mysql报错1045:Access denied for user root@localhost错误解决方法

    产生场景:在涉及到连接数据库操作的时候,会报1045:Access denied for user root@localhost. 比如:本地建立的数据库连接不上,在IDEA等开发工具中使用反向生成. ...

  6. Navicat for Mysql远程连接数据时报(1045错误)Access denied for user 'root'@'localhost' (using password yes);

    原因:用户访问被拒绝,更改用户赋予密码即可 mysql命令行执行语句如下 //使用mysql,读取表信息 //更改用户赋予登录密码 //更新权限 注意点:使用flush privileges是为了刷新 ...

  7. 新安装XAMPP,phpMyAdmin错误:#1045 - Access denied for user 'root'@'localhost' (using password: NO)

    错误如下: 打开D:\Program Files\xampp\phpMyAdmin(你的xampp的安装目录下的phpMyAdmin目录)目录下的config.inc.php文件 将 改为 然后,错误 ...

  8. mysql ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)错误解决办法

    我的电脑是win10,所用的是mysql5.7.14 近期在学习mysql数据库的时候,遇到了这个错误,我的密码错误了.突如其来的问题,很是蒙蔽,因为我没对数据库设置过密码.通过网上查询,可以通过进入 ...

  9. MySql错误1045 Access denied for user 'root'@'localhost' (using password:YES) windows下的解决方案(忘记密码)

    1.进入管理员控制台停止mysql服务:net stop mysql; 2.进入mysql的安装路径,如我的安装路径为C:\Program Files\MySQL\MySQL Server 5.5,打 ...

随机推荐

  1. hdu 4496(并查集逆向添边)

    D-City Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Subm ...

  2. 【转载】关于Python的Mixin模式

    本博按: mixin是看起来是多继承的一种,但是,这种继承并不作为父类存在,而是增加功能到子类中. 像C或C++这类语言都支持多重继承,一个子类可以有多个父类,这样的设计常被人诟病.因为继承应该是个” ...

  3. [BZOJ4456] [Zjoi2016]旅行者 分治+最短路

    4456: [Zjoi2016]旅行者 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 777  Solved: 439[Submit][Status] ...

  4. Java容器类解析

    1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,默认长度是十 查询快,增删慢 add()时判断是否数组越界,数组扩容为原来的1.5倍 线程 ...

  5. (2)ansible主机清单文件inventory

    1)inventory作用 作用:通常用于定义要管理主机的认证信息,例如ssh登录用户名,密码等相关信息 缺省文件:/etc/ansible/hosts 2)定义主机组方式 #vim /etc/ans ...

  6. React Native学习

    学习 首先,假使你已经安装了Nodejs 6,也有使用npm进行Nodejs的包管理 npm install -g react-native-cli 也可以使用yarn作为包管理工具 npm inst ...

  7. python 重新执行循环中出错的那一次

    # coding: utf-8 li = [1,2,3,4,5] for num in li: while True: try: # do something except some error: c ...

  8. UVA 548.Tree-fgets()函数读入字符串+二叉树(中序+后序遍历还原二叉树)+DFS or BFS(二叉树路径最小值并且相同路径值叶子节点权值最小)

    Tree UVA - 548 题意就是多次读入两个序列,第一个是中序遍历的,第二个是后序遍历的.还原二叉树,然后从根节点走到叶子节点,找路径权值和最小的,如果有相同权值的就找叶子节点权值最小的. 最后 ...

  9. python判断一个对象是可迭代?

    1.介绍一下如何判断一个对象是可迭代的? 通过collections模块的Iterable类型判断: >>> from collections import Iterable > ...

  10. SublimeCodeIntel代码自动补全配置

    主要使用python3,所有配置以python3为例.其他语言同理.利用sublimeCodeIntel插件可以实现自动提示python3代码.跳转追踪自定义函数.查看系统函数等.功能还是相当强大的. ...