Liunx下安装MongoDB

假如想象 提交于 2019-12-17 11:44:11
                        查看所有mongo进程root@river-NUC8i7HNK:/# ps -ef |grep mongo
root      9509     1  0 10:36 ?        00:00:03 ./mongod --dbpath=/usr/local/mongodb/data/db --port 27017 --logpath=/usr/local/mongodb/data/logs/logs --fork --smallfiles
root     11166 25122  0 10:49 pts/0    00:00:00 grep --color=auto mongo
root     25139 25122  0 09:00 pts/0    00:00:00 mongo
root     27213 25122  0 09:30 pts/0    00:00:00 mongo
root     28499 25122  0 09:43 pts/0    00:00:00 mongo                           进入到bin目录下
root@river-NUC8i7HNK:/# cd /usr/local/mongodb/bin                                             停止mongodb
root@river-NUC8i7HNK:/usr/local/mongodb/bin# ./mongod -shutdown -dbpath=/usr/local/mongodb/data/db
2019-07-17T10:49:39.273+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
killing process with pid: 9509
root@river-NUC8i7HNK:/usr/local/mongodb/bin# ps -ef |grep mongo
root     11233 25122  0 10:49 pts/0    00:00:00 grep --color=auto mongo
root     25139 25122  0 09:00 pts/0    00:00:00 mongo
root     27213 25122  0 09:30 pts/0    00:00:00 mongo
root     28499 25122  0 09:43 pts/0    00:00:00 mongo                                             先进入到bin目录下 可执行文件 启动mongodb
root@river-NUC8i7HNK:/usr/local/mongodb/bin# ./mongod --dbpath=/usr/local/mongodb/data/db --port 27017 --logpath=/usr/local/mongodb/data/logs/logs --fork --smallfiles                            常用的启动参数                              --dbpath:指定存储数据的文件夹                                                  --logpath:指定日志存储文件                                                  --logappend:日志以增加方式产生                                                  --port指定端口,如果不写的话,默认是27017                                                  --fork代表后台运行  (如果不加后台启动参数fork,这个页面不能关闭,使用命令连接数据库时要另打开一个窗口)about to fork child process, waiting until server is ready for connections.
forked process: 11245
child process started successfully, parent exiting

客户端连接mongo

  可以直接使用命令mongo进入mongodb命令行

  # cd /usr/local/mongodb/bin

  # ./mongo

问题和优化

root@river-NUC8i7HNK:/usr/local/mongodb/bin# ./mongod --dbpath=/usr/local/mongodb/data/db --port 27017 --logpath=/usr/local/mongodb/data/logs/logs --fork --smallfiles这种启动方式没有指定mongo.conf文件 客户端连接不上  因为mongo.conf文件中的bind_ip=0.0.0.0等消息没有加载,而且每次启动都要写一堆启动参数很麻烦优化如下 直接将mongo.conf文件放在bin目录下 所有的启动参数正常写在mongo.conf文件中 启动的时候直接接入bin目录下 用  ./mongod -f mongo.conf  来启动  清爽很多 
                                             进入bin目录  启动mongodb服务root@river-NUC8i7HNK:/usr/local/mongodb/bin# ./mongod -f mongo.conf
about to fork child process, waiting until server is ready for connections.
forked process: 16725
child process started successfully, parent exiting                        停止mongodb服务
root@river-NUC8i7HNK:/# mongod -f /usr/local/mongodb/bin/mongo.conf --shutdown
killing process with pid: 14185

1:MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包。

下载地址:https://www.mongodb.com/download-center#community

地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz

2:进入linux服务器 输入命令 进行下载 :curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz

[root@izwz98jvb8bcz1imuecbtez /]# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 81.0M  100 81.0M    0     0  8219k      0  0:00:10  0:00:10 --:--:-- 11.0M
View Code

3:然后进行解压刚刚下载的MongoDB安装文件,输入命令:

tar -zxvf mongodb-linux-x86_64-4.0.9.tgz

[root@izwz98jvb8bcz1imuecbtez /]# tar -zxvf mongodb-linux-x86_64-4.0.9.tgz
mongodb-linux-x86_64-4.0.9/README
mongodb-linux-x86_64-4.0.9/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-4.0.9/MPL-2
mongodb-linux-x86_64-4.0.9/LICENSE-Community.txt
mongodb-linux-x86_64-4.0.9/bin/mongodump
mongodb-linux-x86_64-4.0.9/bin/mongorestore
mongodb-linux-x86_64-4.0.9/bin/mongoexport
mongodb-linux-x86_64-4.0.9/bin/mongoimport
mongodb-linux-x86_64-4.0.9/bin/mongostat
mongodb-linux-x86_64-4.0.9/bin/mongotop
mongodb-linux-x86_64-4.0.9/bin/bsondump
mongodb-linux-x86_64-4.0.9/bin/mongofiles
mongodb-linux-x86_64-4.0.9/bin/mongoreplay
mongodb-linux-x86_64-4.0.9/bin/mongod
mongodb-linux-x86_64-4.0.9/bin/mongos
mongodb-linux-x86_64-4.0.9/bin/mongo
mongodb-linux-x86_64-4.0.9/bin/install_compass
View Code

4:将安装文件移动到自定义路径下,输入命令:

 mv  mongodb-linux-x86_64-4.0.9/  /usr/local/mongodb

[root@izwz98jvb8bcz1imuecbtez /]# mv  mongodb-linux-x86_64-4.0.9/  /usr/local/mongodb
[root@izwz98jvb8bcz1imuecbtez /]# export PATH=/usr/local/mongodb/bin:$PATH
[root@izwz98jvb8bcz1imuecbtez /]# cd /usr/local/mongodb
[root@izwz98jvb8bcz1imuecbtez mongodb]# mkdir data
[root@izwz98jvb8bcz1imuecbtez mongodb]# cd data
[root@izwz98jvb8bcz1imuecbtez data]# mkdir logs
[root@izwz98jvb8bcz1imuecbtez data]# mkdir db
[root@izwz98jvb8bcz1imuecbtez data]# ls
db  logs
View Code

 

5:MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:

export PATH=/usr/local/mongodb/bin:$PATH

[root@izwz98jvb8bcz1imuecbtez /]# export PATH=/usr/local/mongodb/bin:$PATH
View Code

让我们进入MongoDB安装路径下,输入命令:

cd /usr/local/mongodb

[root@izwz98jvb8bcz1imuecbtez /]# cd /usr/local/mongodb
View Code

在此目录下创建data目录,并且在data目录下创建db和logs目录以及在logs目下创建logs文件;

mkdir data(创建文件夹)   

  mkdir logs(创建文件夹)      touch  logs(创建文件)

  mkdir db(创建文件夹)

[root@izwz98jvb8bcz1imuecbtez mongodb]# mkdir data
[root@izwz98jvb8bcz1imuecbtez mongodb]# cd data
[root@izwz98jvb8bcz1imuecbtez data]# mkdir logs
[root@izwz98jvb8bcz1imuecbtez data]# mkdir db
[root@izwz98jvb8bcz1imuecbtez data]# ls
db  logs
View Code

6:在data目录下创建并且编辑,输入命令:vi mongdb.conf

输入以下内容:

#端口号

port = 27017

#数据目录

dbpath = /usr/local/mongodb/data/db

#日志所在目录

logpath = /usr/local/mongodb/data/logs

#日志输出方式

logappend = true

[root@izwz98jvb8bcz1imuecbtez data]# vi mongdb.conf 

port = 27017

#数据目录

dbpath = /usr/local/mongodb/data/db

#日志所在目录

logpath = /usr/local/mongodb/data/logs/logs

#日志输出方式

logappend = true
~
~
:wq
View Code

wq的意思是保存并退出

 

7:重新返回到mongodb目录下,输入命令:cd /usr/local/mongodb;

配置文件方式启动mongo 如下  (此种启动方式继续在此窗口进行其他命令操作 否则mongo服务自动关闭)

输入命令:mongod -f /usr/local/mongodb/data/mongdb.conf

 

 综上,MongoDB的一系列操作就完成啦!

 远程工具连接显示如下

 


 

如何退出mongo服务

kill  进程号   (1409 是mongo的进程id)

[root@izwz98jvb8bcz1imuecbtez bin]# ps -ef | grep mongo
root      1409  1385  0 17:22 pts/1    00:00:04 mongod -f mongdb.conf
root      1514  1447  0 17:45 pts/0    00:00:00 grep --color=auto mongo
[root@izwz98jvb8bcz1imuecbtez bin]# kill 1409
View Code

如果出现启动报错 ERROR: child process failed, exited with error number 100,一般是由于上一次mongodb没有正常关闭,只需要rm /.../mongod.lock就好


怎么保存退出vi编辑

按ESC键 跳到命令模式,然后:

:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑

 


vi    mongdb.conf   编辑修改 mongdb.conf文件

:wq  保存并退出vi编辑器

mkdir  data            创建文件夹

touch  logs            创建文件

pwd                      显示当前路径

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!