繁体   English   中英

将 mysql 连接到 Django-python

[英]Connection mysql to Django-python

当我尝试将 MySQL 连接到 python Django 框架以访问数据库并运行命令 python manage.py syncdb 时,出现以下错误。 我创建了数据库名称 mysite 并更改为如下设置:

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'mysite',
    'USER':'root',
    'PASSWORD':'sobita1',
    'HOST':'',
    'PORT':'',
    }
}

追溯:

python manage.py syncdb

Traceback (most recent call last):
File "manage.py", line 10, in <module>
  execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py",  line 399, in execute_from_command_line
  utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv
  self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 285, in execute
  output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 415, in handle
  return self.handle_noargs(**options)
File "/usr/local/lib/python2.7/dist-  packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
  cursor = connection.cursor()
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 160, in cursor
  cursor = self.make_debug_cursor(self._cursor())
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 132, in _cursor
  self.ensure_connection()
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 127, in ensure_connection
  self.connect()
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 99, in __exit__
  six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 127, in ensure_connection
  self.connect()
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 115, in connect
  self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 435, in get_new_connection
  conn = Database.connect(**conn_params)
File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
  return Connection(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
  super(Connection, self).__init__(*args, **kwargs2)
  django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost'   (using password: YES)")

我有一个类似的错误:

超级(连接,自我)。 init (*args, **kwargs2) django.db.utils.OperationalError: (1045, “用户‘root’@‘localhost’的访问被拒绝(使用密码:YES)”)

要解决它:

1)我删除了我提供的密码,但再次出现这样的错误:

文件“C:\\Users\\Rooman\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\django\\db\\backends\\mysql\\operations.py”,第 146 行,在 last_executed_query query = query.encode(errors ='replace') AttributeError: 'bytes' 对象没有属性 'encode'

2) 在 operations.py 中使用decode而不是encode

    query = query.decode(errors='replace')

3)最后运行命令:

    python manage.py makemigrations

    python manage.py migrate

    python manage.py runserver

您为数据库提供了错误的用户名或密码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM