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)
参考阅读
MongoDB 的基本使用视频:http://www.jikexueyuan.com/course/1976.html
未经允许请勿转载:程序喵 » MacOS系统中MongoDB安装、启动与关闭服务