MacOS系统中MongoDB安装、启动与关闭服务

1、选择版本下载

官方地址:https://www.mongodb.com/download-center

2、将MongoDB添加到环境变量中

我是用的是zsh,所以在用户目录下的.zshrc文件中底部,添加如下内容

MONGODB_HOME=/Users/liurenkui/myLibrary/mongodb-osx-x86_64-3.4.7
export PATH=".:$PATH:$MONGODB_HOME/bin"

然后,重新刷新环境变量

➜  ~ source .zshrc

然后,验证是否配置成功,比如下面的配置成功输出

➜  ~ mongod -version
db version v3.4.7
git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd
OpenSSL version: OpenSSL 0.9.8zh 14 Jan 2016
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64
➜  ~

3、启动数据库

脚本启动或配置文件启动

mongod --dbpath $dbpath --logpath $logpath --logappend --fork

  • --dbpath:数据库文件路径

  • --logpath:数据库日志路径

  • --logappend:追加日志

  • --fork:数据库服务放在后台运行,表示以守护进程方式运行,一旦使用这种方式必须制定日志路径

在mongo的安装路径下,新建data和log两个目录

然后使用下面方式运行MongoDB服务

➜  myLibrary cd mongodb-osx-x86_64-3.4.7
➜  mongodb-osx-x86_64-3.4.7 ls
GNU-AGPL-3.0        README              bin                 log
MPL-2               THIRD-PARTY-NOTICES data
➜  mongodb-osx-x86_64-3.4.7 mongod --dbpath data --logpath log/mongod.log --logappend --fork
about to fork child process, waiting until server is ready for connections.
forked process: 1858
child process started successfully, parent exiting
➜  mongodb-osx-x86_64-3.4.7 mongo
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user
Server has startup warnings:
2017-08-27T18:08:31.083+0800 I CONTROL  [initandlisten]
2017-08-27T18:08:31.083+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-08-27T18:08:31.083+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-08-27T18:08:31.083+0800 I CONTROL  [initandlisten]
> 1+1
2
>

不同的选项运行都是可以的,比如常用的如下

$ mongod --dbpath data 
$ mongod --dbpath data --port=21017

# 守护进程方式
$ mongod --dbpath data --logpath log/mongod.log --logappend --fork

# web界面
$ mongod --dbpath data --logpath log/mongod.log --logappend --rest

# 系统日志,位于/var/log/message中
$ mongod --dbpath data --port=21017 --fork --syslog

关闭MongoDB服务

关闭服务需要使用admin用户权限,如下所示

> db.shutdownServer()
shutdown command only works with the admin database; try 'use admin'
> use admin
switched to db admin
> db.shutdownServer()
2017-08-28T12:27:31.737+0800 I NETWORK  [thread1] trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed
2017-08-28T12:27:31.737+0800 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-08-28T12:27:31.737+0800 I NETWORK  [thread1] reconnect 127.0.0.1:27017 (127.0.0.1) failed failed 
server should be down...
>
> exit
bye

MongoDb web用户界面

MongoDB提供简单的http用户界面,要启动该功能 需要在启动的时候指定参数 --rest

➜  mongodb-osx-x86_64-3.4.7 mongod --dbpath data --logpath log/mongod.log --logappend --rest
2017-08-28T12:30:26.312+0800 I CONTROL  [main] ** WARNING: --rest is specified without --httpinterface,
2017-08-28T12:30:26.313+0800 I CONTROL  [main] **          enabling http interface

mongoDB web界面访问端口比服务多100
http://localhost:28017

查看mongo服务进程

➜  ~ ps -ef | grep mongo
  501  1292  1229   0 12:30PM ttys000    0:14.84 mongod --dbpath data --logpath log/mongod.log --logappend --rest
  501  1439  1412   0  1:15PM ttys001    0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svnmongo
➜  ~

杀掉进程

上面的1292就是mongo服务的进程pid,使用kill命令将其杀掉

➜  ~ kill 1292

查看端口占用情况

如果有启动报错的情况 先查看mongo进程 如果有占用就kill掉,如果还不行就去在数据库data目录下把 mongod.lock删掉再启动

➜  ~ lsof -i tcp:27017
COMMAND  PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mongod  1760 liurenkui    7u  IPv4 0xf17d695f2b00c745      0t0  TCP *:27017 (LISTEN)

参考阅读

MacOS系统中MongoDB安装与启动

MongoDB常用语句

MongoDB 的基本使用视频:http://www.jikexueyuan.com/course/1976.html

赞(52) 打赏
未经允许不得转载:优客志 » 数据库
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏