mysql到Django python的连接
当我尝试将MySQL连接到PythonDjango框架以访问数据库,并运行命令python manage.py syncdb时,我遇到以下错误。我已经创建了数据库名mysite,并更改为如下设置:mysql到Django python的连接,python,mysql,django,Python,Mysql,Django,当我尝试将MySQL连接到PythonDjango框架以访问数据库,并运行命令python manage.py syncdb时,我遇到以下错误。我已经创建了数据库名mysite,并更改为如下设置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mysite', 'USER':'root', 'PASSWORD':'sobita1', 'HOST':
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)")
python manage.py syncdb
回溯(最近一次呼叫最后一次):
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/usr/local/lib/python2.7/dist-packages/django/core/management/__-init__;.py”,第399行,从命令行执行
utility.execute()
文件“/usr/local/lib/python2.7/dist packages/django/core/management/__init__.py”,第392行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/usr/local/lib/python2.7/dist-packages/django/core/management/base.py”,第242行,从_argv运行
self.execute(*args,**选项._dict__;
文件“/usr/local/lib/python2.7/dist packages/django/core/management/base.py”,执行中第285行
输出=self.handle(*args,**选项)
文件“/usr/local/lib/python2.7/dist packages/django/core/management/base.py”,第415行,在handle中
返回self.handle\u noargs(**选项)
handle_noargs中的文件“/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py”,第57行
cursor=connection.cursor()
游标中的文件“/usr/local/lib/python2.7/dist packages/django/db/backends/_init__.py”,第160行
cursor=self.make\u debug\u cursor(self.\u cursor())
文件“/usr/local/lib/python2.7/dist packages/django/db/backends/__init__.py”,第132行,在光标处
self.sure_连接()
文件“/usr/local/lib/python2.7/dist-packages/django/db/backends/__-init___.py”,第127行,确保连接
self.connect()
文件“/usr/local/lib/python2.7/dist-packages/django/db/utils.py”,第99行,在__
6.重新播放(dj_exc_类型、dj_exc_值、回溯)
文件“/usr/local/lib/python2.7/dist-packages/django/db/backends/__-init___.py”,第127行,确保连接
self.connect()
文件“/usr/local/lib/python2.7/dist-packages/django/db/backends/__-init___.py”,第115行,在connect中
self.connection=self.get_new_connection(连接参数)
文件“/usr/local/lib/python2.7/dist packages/django/db/backends/mysql/base.py”,第435行,在get\u new\u连接中
conn=数据库.connect(**conn_参数)
文件“/usr/lib/python2.7/dist-packages/MySQLdb/_-init___;.py”,第81行,在Connect中
返回连接(*args,**kwargs)
文件“/usr/lib/python2.7/dist packages/MySQLdb/connections.py”,第187行,在__
超级(连接,自).\uuuu初始化(*args,**kwargs2)
django.db.utils.OperationalError:(1045,“拒绝用户'root'@'localhost'的访问(使用密码:YES)”)
我有一个类似的错误:
超级(连接,自我)。init(*args,**kwargs2)
django.db.utils.OperationalError:(1045,“拒绝用户'root'@'localhost'的访问(使用密码:YES)”)
要解决这个问题:
1) 我删除了我提供的密码,但再次出现如下错误:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'USER':'root',
'PASSWORD':'sobita1',
'HOST':'',
'PORT':'',
}
}
文件“C:\Users\Rooman\AppData\Local\Programs\Python\Python37\lib\site packages\django\db\backends\mysql\operations.py”,在上次执行的查询中的第146行
query=query.encode(errors='replace')
AttributeError:“字节”对象没有属性“encode”
2) 在operations.py中,使用解码
而不是编码
query = query.decode(errors='replace')
3) 最后运行以下命令:
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
您为数据库提供了错误的用户名或密码是否不清楚?使用您输入的密码对root用户进行身份验证失败;授予在上的所有特权。到root@localhost通过带有授权选项的“密码”标识;它显示了上述结果。您确定在settings.py中输入密码时没有出错吗?还可以检查一下:当我在终端中键入MySQL-u root-p并输入密码时,它会显示错误1045(28000):用户“root”@“localhost”(使用密码:YES)的访问被拒绝。伙计,我们应该教你谷歌,我猜:p。检查一下我在谷歌上找到的这些链接:。下次用谷歌搜索你自己:)。我甚至很少使用mysql,所以除了在谷歌搜索中输入单词之外,我帮不了什么忙。这篇文章并不是在回答这个问题。请注意,这是一个问答网站,每个帖子都是一个问题或问题的答案。帖子也可以有这样的小句子,可以用来批评或要求作者澄清。这应该是一个注释或一个注释