gpt4 book ai didi

python - Django:如何为 MySQL 数据库设置正确的位置

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:39 24 4
gpt4 key购买 nike

我刚刚开始使用 MySQL 作为我项目的数据库。以前我一直在使用 SQLite。

我想知道如何像为 SQLite 那样指定 MySQL 数据库的位置。目前默认自动保存到/usr/local/mysql/data。但我相信当我尝试将它上传到我的生产环境时,这会导致问题。

我的旧 SQLite 设置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'database/db.sqlite3'),
}
}

这将数据库保存到我的项目中的数据库文件夹中,我可以将其上传并 chown 到 www-data。这似乎是一个简单的解决方案,我想用 MySQL 复制它

我的新 MySQL 设置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
#'NAME': 'django_db',
'NAME': os.path.join(BASE_DIR, 'database/django_db'),
'USER': 'root',
'PASSWORD': 'myPassword',
'HOST': 'localhost',
'PORT': '3306',
}
}

然而,当我尝试用它来 syncdb 时,我得到以下错误

django.db.utils.OperationalError: (1059, "Identifier name '/users/user/workspace/bias_experiment/src/database/django_db' is too long") (bias_experiment)localhost:src user$

我还尝试在我的项目中创建数据库

mysql> CREATE DATABASE /Users/user/workspace/bias_experiment/src/database/django_db;

但这给了我错误

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/Users/brendan/Dropbox/workspace/bias_experiment/src/database/django_db' at line 1
mysql>

那么我可以在我的项目中创建数据库并以与之前使用 SQLite 相同的方式链接到它吗?如果不是,上传和链接的正确方式/位置是什么?

非常感谢任何帮助

最佳答案

MySQL 不是一个基于文件的数据库:你不需要给它一个文件路径。事实上,设置文件本身非常清楚您需要在 NAME 属性中放入什么,即(毫不奇怪)数据库本身的名称。这与 CREATE DATABASE 所需的相同,但您同样没有提供路径:只是一个名称。

关于python - Django:如何为 MySQL 数据库设置正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25350854/

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