[英]Connecting to MySQL from Django
its my first project with django..i already tried the connection with sqlite.but now m using django's connection with mysql nm getting following error... 它是我的第一个项目与django..i已经尝试了与sqlite的连接。但现在使用django的连接与mysql nm得到以下错误...
D:\project\wogma>manage.py syncdb
Traceback (most recent call last):
File "D:\project\wogma\manage.py", line 11, in <module>
execute_manager(settings)
File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line
340, in execute_manager
utility.execute()
File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line
295, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 192,
in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 218,
in execute
self.validate()
File "C:\Python26\lib\site-packages\django\core\management\base.py", line 246,
in validate
num_errors = get_validation_errors(s, app)
File "C:\Python26\lib\site-packages\django\core\management\validation.py", lin
e 65, in get_validation_errors
connection.validation.validate_field(e, opts, f)
File "C:\Python26\lib\site-packages\django\db\backends\mysql\validation.py", l
ine 8, in validate_field
db_version = connection.get_server_version()
File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 27
7, in get_server_version
self.cursor()
File "C:\Python26\lib\site-packages\django\db\backends\__init__.py", line 56,
in cursor
cursor = self._cursor(settings)
File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 26
2, in _cursor
self.connection = Database.connect(**kwargs)
File "C:\Python26\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\Python26\lib\site-packages\MySQLdb\connections.py", line 188, in __in
it__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1049, "Unknown database 'd:/project/wogma/w
ogma'")
i did the commands in mysql as follows..i already created the wogma database just using create database ni granted the priviliges..in mysql. 我在mysql中执行了如下命令..我已经创建了wogma数据库,只需使用create database ni授予priviliges..in mysql。 whts the prb?? 什么prb?
You are trying to specify a database at a file path (which would work for SQLite). 您正在尝试在文件路径中指定数据库(这适用于SQLite)。 MySQL needs a database name (eg 'wogma'). MySQL需要一个数据库名称(例如'wogma')。 You'll have to follow the instructions to install MySQL, create a new user and database etc. It appears you're on Windows, so I can't help any more than that. 你必须按照说明安装MySQL,创建一个新用户和数据库等。看来你在Windows上,所以我不能帮助。
SHOW DATABASES;
打开一个sql控制台并输入SHOW DATABASES;
if wogma
appear just put this in your settings (you are using django 1.1): 如果出现wogma
只是把它放在你的设置中(你使用的是django 1.1):
DATABASE_ENGINE = 'django.db.backends.mysql' DATABASE_ENGINE ='django.db.backends.mysql'
DATABASE_NAME = 'wogma' DATABASE_NAME ='wogma'
DATABASE_HOST = '127.0.0.1' DATABASE_HOST ='127.0.0.1'
DATABASE_PORT = '3306' DATABASE_PORT ='3306'
if not appear just create it in this console CREATE DATABASE
如果没有出现只是在这个控制台创建它wogma
;CREATE DATABASE
and make the steps again. 并再次采取措施。 wogma
;
Try with this connection configuration: 尝试使用此连接配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'MY_DATABASE_NAME',
'USER': 'root',
'PASSWORD': 'MY_PASSWORD',
}
}
But First , create the database in your mysql. 但首先 ,在mysql中创建数据库。
As directed by above answers , the below code will not work 按照上述答案的指示,以下代码不起作用
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'MY_DATABASE_NAME',
'USER': 'root',
'PASSWORD': 'MY_PASSWORD',
}
}
You would have to download MySQL Connector
. 您必须下载MySQL Connector
。 Read this post to setup your MySQL database in Django 2.1.x 阅读这篇文章,在Django 2.1.x中设置MySQL数据库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.