博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mongodb入门系列(2)——在linux下安装、启动、关闭MongoDB以及注意事项(详细)...
阅读量:6991 次
发布时间:2019-06-27

本文共 4598 字,大约阅读时间需要 15 分钟。

hot3.png

从官网下载MongoDB的压缩包。

将mongodb-linux-x86_64-2.6.8.tgz解压

[neil@neilhost Downloads]$ tar zxvf mongodb-linux-x86_64-2.6.8.tgz mongodb-linux-x86_64-2.6.8/READMEmongodb-linux-x86_64-2.6.8/THIRD-PARTY-NOTICESmongodb-linux-x86_64-2.6.8/GNU-AGPL-3.0mongodb-linux-x86_64-2.6.8/bin/mongodumpmongodb-linux-x86_64-2.6.8/bin/mongorestoremongodb-linux-x86_64-2.6.8/bin/mongoexportmongodb-linux-x86_64-2.6.8/bin/mongoimportmongodb-linux-x86_64-2.6.8/bin/mongostatmongodb-linux-x86_64-2.6.8/bin/mongotopmongodb-linux-x86_64-2.6.8/bin/mongooplogmongodb-linux-x86_64-2.6.8/bin/mongofilesmongodb-linux-x86_64-2.6.8/bin/bsondumpmongodb-linux-x86_64-2.6.8/bin/mongoperfmongodb-linux-x86_64-2.6.8/bin/mongodmongodb-linux-x86_64-2.6.8/bin/mongosmongodb-linux-x86_64-2.6.8/bin/mongo

MongoDB无需安装即可应用,所以我们自己将其部署到/usr/local/下

首先在usr/local/目录下新建一个mongodb文件夹(注意要su权限)

[neil@neilhost /]$ cd /[neil@neilhost /]$ cd usr/local/[neil@neilhost local]$ lsbin  etc  games  include  lib  lib64  libexec  sbin  share  src
[neil@neilhost local]$ sudo mkdir mongodb[sudo] password for neil: [neil@neilhost local]$ lsbin  etc  games  include  lib  lib64  libexec  mongodb  sbin  share  src

之后,将之前解压好的Monggodb文件夹移动到/usr/local/mongodb下:

[neil@neilhost local]$ cd ~/Downloads/[neil@neilhost local]$ sudo mv mongodb-linux-x86_64-2.6.8/* /usr/local/mongodb/

(或者

也可以在mongodb-linux-x86_64-2.6.8文件夹里使用如下命令:

rsync -a bin /usr/local/mongodb

)

然后为mongodb创建数据库存放的位置(默认是在/data/db下面),这里在mongodb下面建立了相应的目录data/

[neil mongodb]$ sudo mkdir data

为mongodb创建一个日志文件dblogs

[neil@neilhost mongodb]$ sudo touch dblogs
[neil@neilhost mongodb]$ lsbin  data  dblogs  GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES

至此,MongoDB就算安装好了。

——————————————————————————————

bin可以看到MongDB用到的13个二进制文件

[neil@neilhost mongodb]$ tree binbin├── bsondump├── mongo├── mongod├── mongodump├── mongoexport├── mongofiles├── mongoimport├── mongooplog├── mongoperf├── mongorestore├── mongos├── mongostat└── mongotop0 directories, 13 files

早先的版本MongoDB的bin只有12个二进制文件,并且部分二进制文件与现在的也不同。

————————————————————————————————————————————

如果你需要在每次服务器开机时都需要自动启动MongoDB,那么需要设置一些环境变量

将mongodb启动项目加入rc.local保证mongodb在服务器开机时启动:

echo "/usr/local/mongodb/bin/mongodb" --dbpath=/usr/local/mongodb/data">> /etc/rc/local

不过,我还是喜欢自己启动。或者自己写在一个脚本里,以后要启动哪些东西自己配置。

手动启动方式如下:

[neil@neilhost mongodb]$ cd bin[neil@neilhost bin]$ lsbsondump  mongodump    mongoimport  mongorestore  mongotopmongo     mongoexport  mongooplog   mongosmongod    mongofiles   mongoperf    mongostat[neil@neilhost bin]$ sudo ./mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork[sudo] password for neil: about to fork child process, waiting until server is ready for connections.forked process: 6593

这里--dbpath指定的是数据库文件存储的路径,--logpath指定的是日志文件路径是什么,之前的dblogs也可以自己命名为其他名字,在这里指定即可。

--fork参数指的是在后台执行,当然也可以用&符号。

系统返回的forked process:6593指的是系统给Mongodb分配的进程号PID是6593(每次都不一样哦)

那么现在MongoDB有没有被成功启动呢?

通过命令:

[neil@neilhost bin]$ pstree -p| grep mongod           |-mongod(6593)-+-{mongod}(6594)           |              |-{mongod}(6595)           |              |-{mongod}(6596)           |              |-{mongod}(6608)           |              |-{mongod}(6609)           |              |-{mongod}(6610)           |              |-{mongod}(6611)           |              |-{mongod}(6612)           |              `-{mongod}(6613)

主进程6593下有9个子进程。

上面手动启动的语句可以放到/etc/rc.local文件里,让系统开机后自动执行。(/etc/rc.local是linux开机后最后执行的脚本

——————————————————————————————————

如何关闭mongodb服务呢?

[neil@neilhost bin]$ sudo pkill mongod[sudo] password for neil: [neil@neilhost bin]$ pstree -p| grep mongod[neil@neilhost bin]$

这样,用pkill命令就把mongdb关闭了。这里也可以用killall mongod

注意:但是绝对不能用kill -9来关闭mongodb,否则就会发现下次无法成功启动mongod了!!!切记!!!

_____________________________________________

这里再增加一种方法:

写一个shell脚本文件mongodbstart.sh,文件内容如下:

sudo /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork

然后执行该shell脚本:

[neil@neilhost Downloads]$ sh mongodbstart.shabout to fork child process, waiting until server is ready for connections.forked process: 7042child process started successfully, parent exiting[neil@neilhost Downloads]$ pstree -p| grep mongod           |-mongod(7042)-+-{mongod}(7043)           |              |-{mongod}(7044)           |              |-{mongod}(7045)           |              |-{mongod}(7046)           |              |-{mongod}(7047)           |              |-{mongod}(7048)           |              |-{mongod}(7049)           |              |-{mongod}(7050)           |              `-{mongod}(7051)

以后如果有其他需要一起启动的东西,可以都加入脚本文件中,一起启动。并且不会在开机时候启动。

转载于:https://my.oschina.net/happyBKs/blog/382219

你可能感兴趣的文章