gpt4 book ai didi

python - 将 MySQL 与 Django 一起使用 - 用户 '@' localhost 的访问被拒绝

转载 作者:IT老高 更新时间:2023-10-28 20:33:18 29 4
gpt4 key购买 nike

所以我正在通过以下资源学习 Django (1, 3, 1, 'final', 0):http://www.djangobook.com/en/2.0/chapter05/

我通过 Synaptic 安装了“mysql-server”和“python-mysqldb”。我更改了settings.py中的相关设置。

上面提到的书告诉我们从manage.py shell运行:

>>> from django.db import connection
>>> cursor = connection.cursor()

运行这些命令后出现此错误:

OperationalError: (1044, "Access denied for user ''@'localhost' to database 'mydb'")

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 250, in cursor
cursor = self.make_debug_cursor(self._cursor())
File "/usr/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 322, in _cursor
self.connection = Database.connect(**kwargs)
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)
OperationalError: (1044, "Access denied for user ''@'localhost' to database 'mydb'")

第一次安装时,MySQL 确实要求我设置 root 密码,这里可以使用吗?或者是别的什么?

最佳答案

您的用户无权访问数据库。使用以下命令设置您的数据库。

DROP DATABASE IF EXISTS `mydb`;
CREATE DATABASE `mydb`
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;

USE 'mysql';
GRANT ALL PRIVILEGES ON mydb.* TO 'mydb_user'@'localhost' IDENTIFIED BY 'your_password'

WITH GRANT OPTION;
FLUSH PRIVILEGES;

此外,您需要有足够的权限才能运行它。然后另存为script.sql,

$mysql -u root -p < script.sql

到 settings.py 之后,您需要确保您的数据库设置正确设置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'mydb_user',
'PASSWORD': 'your_password',
'HOST': '',
'PORT': '',
}
}

python manage.py syncdb

你就完成了。

关于python - 将 MySQL 与 Django 一起使用 - 用户 '@' localhost 的访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11170133/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com