查看所有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
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
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
5:MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:
export PATH=/usr/local/mongodb/bin:$PATH
[root@izwz98jvb8bcz1imuecbtez /]# export PATH=/usr/local/mongodb/bin:$PATH
让我们进入MongoDB安装路径下,输入命令:
cd /usr/local/mongodb
[root@izwz98jvb8bcz1imuecbtez /]# cd /usr/local/mongodb
在此目录下创建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
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
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
如果出现启动报错 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 显示当前路径