安装
mac下可以使用Homebrew安装,也可以用安装包安装,我觉得用安装包安装,卸载会更方便,所以以下是使用安装包安装的步骤。
进入官网找到下载地址: MongoDB
incisordeMacBook-Pro:~ incisor$ cd ~/Downloads/
incisordeMacBook-Pro:Downloads incisor$ wget https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.11.tgz
incisordeMacBook-Pro:Downloads incisor$ tar zxvf mongodb-osx-ssl-x86_64-4.0.11.tgz
# 移动到/usr/local/shared目录下,并重命名为mongodb
incisordeMacBook-Pro:Downloads incisor$ sudo mv mongodb-osx-x86_64-4.0.11 /usr/local/share/mongodb
将mongo的bin目录添加到PATH环境变量:
incisordeMacBook-Pro:~ incisor$ vi ~/.bash_profile
export PATH=/usr/local/share/mongodb/bin:$PATH
incisordeMacBook-Pro:~ incisor$ source ~/.bash_profile
配置
mongo可以通过命令行启动,也可以通过配置文件启动,其实配置文件就是将命令行的参数写到文件里了。正常人一般都会选配置文件,所以以下也是以配置文件的方式启动。
其中,命令行的的参数可以通过mongod --help查看。例如以下:
incisordeMacBook-Pro:mongodb incisor$ mongod --help
Options:
General options:
-v [ --verbose ] [=arg(=v)] be more verbose (include multiple times
for more verbosity e.g. -vvvvv)
--quiet quieter output
--port arg specify port number - 27017 by default
--logpath arg log file to send write to instead of
stdout - has to be a file, not
directory
--syslog log to system's syslog facility instead
of file or stdout
--syslogFacility arg syslog facility used for mongodb syslog
message
--logappend append to logpath instead of
over-writing
...省略...
所以,从这里也可以看出, 命令行启动是:
mongod --port=27017 --host=127.0.0.1 --dbpath=...省略
1、创建一个db目录,用于mongodb写数据
我习惯放在安装目录下, 目录可以自定义,默认是/data/db目录,启动时,没有该目录会报错。
incisordeMacBook-Pro:mongodb incisor$ mkdir -p data/db
2、修改mongodb配置文件
在安装目录下创建mongodb的日志文件:
incisordeMacBook-Pro:mongodb incisor$ mkdir logs
incisordeMacBook-Pro:mongodb incisor$ cd logs
incisordeMacBook-Pro:logs incisor$ touch mongo.log
在mongodb的安装目录下创建mongod.conf文件:
incisordeMacBook-Pro:mongodb incisor$ vi mongod.conf
添加以下内容:
# 日志文件,这里需要指定到文件,而不是目录
logpath=/usr/local/share/mongodb/logs/mongo.log
# 以追加的方式写日志
logappend=true
# 后台运行
fork=true
# 数据文件路径
dbpath=/usr/local/share/mongodb/data/db
# bind_ip_all=true 任何机器都可以连接
# bind_ip=127.0.0.1,192.168.0.3 这两个ip可以访问
# 绑定的IP
bind_ip=127.0.0.1
# 端口
port=27017
相信眼尖的同学也看到了,这里的参数名实际就是mongod --help中显示的参数去掉前面的双横线
对mongod.conf的配置,除了上面的这种配置,还有另一种配置方式: mongod.conf配置文件, 官方文档, 官方应该是建议以YAML格式配置,如果个人用的话,按上述配置也够用了。
4、启动mongod服务,–config指定配置文件
zhoubihuideMacBook-Pro:mongodb zhoubihui$ mongod --config /usr/local/share/mongodb/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 9517
child process started successfully, parent exiting
看到这些,就说明启动成功了,可以用ps aux | grep mongod来查看mongod进程信息。
如果mongodb的bind_ip不是127.0.0.1,就需要设置密码了,这里仅个人使用,所以我跳过了设置密码的步骤。
5、连接
可以输入mongo直接连接,用命令行操作,也可以用可视化工具,windows平台上有navicat for mongodb, mac平台我主要使用Robo 3T。
关于Robo 3T的使用可以参考这篇文档: Robo 3T使用教程
6、关闭mongo服务
首先用mongo命令连接数据库:
> use admin
switched to db admin
> db.shutdownServer()
2019-07-30T17:43:57.691+0800 I NETWORK [js] DBClientConnection failed to receive message from 127.0.0.1:27017 - HostUnreachable: Connection closed by peer
server should be down...
2019-07-30T17:43:57.693+0800 I NETWORK [js] trying reconnect to 127.0.0.1:27017 failed
2019-07-30T17:43:57.693+0800 I NETWORK [js] reconnect 127.0.0.1:27017 failed failed
这样就可以关闭mongod服务了。
或者简单粗暴,直接把mongod的进程kill掉。不过不建议这种方式。