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. git 查看远程分支 $ git branch -a

    查看远程分支 加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话): 1 2 3 4 5 6 7 8 9 10 $ git branch -a master remote ...

  2. Django 如何实现文件下载

    1. 思路: 文件,让用户下载 - a标签+静态文件 - 设置响应头(django如何实现文件下载) 2. a标签实现 <a href="/static/xxx.xlsx"& ...

  3. ORM数据库查询操作之基于双下划线的跨表查询

     创建表结构 from django.db import models class Book(models.Model): title=models.CharField(max_length=32) ...

  4. 一个有趣的基于Django的调试插件--django-debug-toolbar

    django-debug-toolbar 介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息. git ...

  5. PHP读取文件夹的文件列表

    /** * getDir()取文件夹列表,getFile()取对应文件夹下面的文件列表,二者的区别在于判断有没有“.”后缀的文件,其他都一样 */ //获取文件目录列表,该方法返回数组 functio ...

  6. CentOS7.5安装截图软件

    一.Screenshot tool插件 这个插件直接在https://extensions.gnome.org/搜索,然后打开ON,等待安装完毕,就可以在你桌面的顶栏的右侧看到一个相机一样的小东西 缺 ...

  7. CentOS上使用yum安装Apache

    关键词 CentOS上使用yum安装Apache 摘要 Apache在Linux系统中,其实叫“httpd”,它“无耻的”占据了官方名义!CentOS可以使用yum命令,非常简单和容易的安装Apach ...

  8. poj 1018(dp)

    Communication System Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25653   Accepted: ...

  9. PMP CMM

    CMM和PMP是两个不同的概念域,是用来解决不同问题的.我们所说的CMM,准确的说应该是叫做能力成熟度模型,北京猴子说的软件能力成熟度模型实际上应该称为SW-CMM,是CMM的一个子集.PMP可以看做 ...

  10. JZYZOJ1371 青蛙的约会 扩展欧几里得 GTMD数论

    http://172.20.6.3/Problem_Show.asp?id=1371 题意是两个青蛙朝同一个方向跳 http://www.cnblogs.com/jackge/archive/2013 ...