Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建本地主机mysql数据库以与django一起使用_Mysql_Django_Macos - Fatal编程技术网

创建本地主机mysql数据库以与django一起使用

创建本地主机mysql数据库以与django一起使用,mysql,django,macos,Mysql,Django,Macos,我在本地主机上使用Django和sqlite3已经有一段时间了,我知道如何恰当地使用sqlite(我经历了Zed Shaw在线提供的“艰苦学习SQL”。因此我知道如何创建数据库,使用SQL代码操作数据库等 我试图将mysql设置为在本地主机上运行,然后用django运行它。我试图阅读尽可能多的文档,但文档或“如何”在我看到的任何地方都不一样 _1.我下载了MySQL dmg _2.我安装了它附带的两个软件包(Mac Mavericks) _3…遵循文档中的一些不同命令行说明 _4.在我的命令行上

我在本地主机上使用Django和sqlite3已经有一段时间了,我知道如何恰当地使用sqlite(我经历了Zed Shaw在线提供的“艰苦学习SQL”。因此我知道如何创建数据库,使用SQL代码操作数据库等

我试图将mysql设置为在本地主机上运行,然后用django运行它。我试图阅读尽可能多的文档,但文档或“如何”在我看到的任何地方都不一样

_1.我下载了MySQL dmg

_2.我安装了它附带的两个软件包(Mac Mavericks)

_3…遵循文档中的一些不同命令行说明

_4.在我的命令行上执行了以下操作:

Nicholass-MacBook-Air:~ NickStefan$ cd /usr/local/mysql
Nicholass-MacBook-Air:mysql NickStefan$ sudo ./bin/mysqld_safe
140311 18:40:06 mysqld_safe Logging to '/usr/local/mysql-5.6.16-osx10.7-x86_64/data/Nicholass-MacBook-Air.local.err'.
140311 18:40:06 mysqld_safe A mysqld process already exists
_5.所以我想这意味着我已经运行了mysql服务器。但是,我仍然不明白我是如何以与sqlite3类似的本地方式使用mysql的

_6.接下来我寻找_mysql:

Nicholass-MacBook-Air:mysql NickStefan$ dscl .list/Users|grep mysql
Nicholass-MacBook-Air:mysql NickStefan$ sudo dscl .
 > cd Groups
/Groups > list . PrimaryGroupID
...
_mysql                           74
_7.如何创建mysql数据库文件,并将其插入本地主机上的django设置? 这是迄今为止我在settings.py中的设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': ????????????????????,
        'USER': '_mysql',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3360',
    }
}
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydb'),
        'USER': 'nick',
        'PASSWORD': 'mypass',
        'HOST': 'localhost',
        'PORT': '3360',
    }
}

完整答案:(到目前为止)

编辑my
.bash\u profile
(影响命令行启动的隐藏系统文件)以获得以下附加行:

alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
以root用户身份输入mysql(在提示输入密码时输入空白):

创建新用户、创建数据库、授予访问权限:

CREATE USER 'nick'@'localhost' IDENTIFIED BY 'mypass';
CREATE DATABASE mydb;
GRANT ALL ON mydb.* TO 'nick'@'localhost';
settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': ????????????????????,
        'USER': '_mysql',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3360',
    }
}
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydb'),
        'USER': 'nick',
        'PASSWORD': 'mypass',
        'HOST': 'localhost',
        'PORT': '3360',
    }
}
将此添加到.bash\u配置文件

export PATH=$PATH:/usr/local/mysql/bin
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
重新启动命令行并执行以下操作:

pip install mysql-python
最后,它运行起来:

python manage.py schemamigration myapp --initial
python manage.py syncdb
./manage.py migrate

正如django的数据库设置部分所说:

如果您使用的是PostgreSQL或MySQL,请确保已创建 通过“创建数据库”\u name 在数据库的交互式提示中

如果您使用的是SQLite,则无需事先创建任何内容- 数据库文件将在需要时自动创建

因此,您现在需要做的是通过mysql控制台创建一个数据库。然后,在默认的
DATABASES
设置中将该名称置于
name
键下


希望这能有所帮助。

我要指出的是,MySQL的默认端口是3306,而不是3360。看起来这并没有阻碍您。