环境:
Ubuntu 14.0.4
MongoDB 4.0.3 当前最新正式版本,网上介绍的大都是3.x的版本,晕

一、下载
官网https://www.mongodb.com/download-center/community 下载所需mongodb版本
linux服务器上可直接 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.0.3.tgz

二、安装

1、
下载后,解压 tar -zvxf xxx
修改文件名 mv xxx mongodb4.0.3
cd mongodb4.0.3
mkdir data
mkdir logs cd logs
touch mongodb.log
cd data
mkdir db
2.创建配置文件(启动参数) mongodb.conf(这个文件是没有的,自己创建需要自己创建并且放在/xxx/mongodb4.0.3/bin/目录下):

cd ./mongodb4.0.3/bin/

vim mongodb.conf(如何添加详细不写,用notepad++添加配置文件,如下文本)

verbose=true #
vv=true # vv表示debug级别
dbpath=/usr/aliyun/mongodb4.0.3/data/db #数据文件存放目录
logpath=/usr/aliyun/mongodb4.0.3/log/mongodb.log #日志文件存放目录
port=27017 #端口,默认27017,可以自定义
logappend=true #开启日志追加添加日志
fork=true #以守护程序的方式启用,即在后台运行
bind_ip=0.0.0.0 #默认是127.0.0.1,开启远程访问
#auth=true(这项暂时不动,因为涉及到auth认证,调试好所有的mongodb的问题后在来弄权限)
quiet=true#安静的输出日志,即不会再有debug信息,日志中只会打印一些关键的信息,比如        自动故障切换,系统错误等信息,相当于error log。这时需要注释掉verbose参数。范例配置如下: #verbose=true

3.添加mongodb环境:

vi /etc/profile

在文件最后一行添加:

export MONGODB_HOME=/usr/aliyun/mongodb4.0.3
export PATH=$PATH:$MONGODB_HOME/bin

source /etc/profile(立即生效)

4.开启mongodb服务:

cd /usr/aliyun/mongodb4.0.3/bin/
mongod --config mongodb.conf
或 mongod -f mongodb.conf

5.检查mongodb进程
netstat -tunlp | grep mongod

6.连接mongodb
由于我们没有设置密码,所以可以在安装所在服务器用如下命令尝试登录test数据库

./mongo localhost:27017/test


7.停止momngodb

mongod -f /usr/aliyun/mongodb4.0.3/bin/mongodb.conf --shutdown

mongod 命令的 shutdown 选项能干净的关闭 MongoDB 服务,会释放内存中MongoDB占用的内存

先通过shell连上服务器:

mongo
use admin
db.shutdownServer()

7.测试mongodb

注意:mongodb数据库无法创建和添加数据的问题(这里不建议使用admin,local,config三个数据库),直接输入
1.use test
2.db.test.insert({id:1})

以下内容使用于ubuntu16.0.4
开机自启动
添加文件mongodb.service

cd /etc/systemd/system
sudo vim mongodb.service

mongodb.service内容

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
 
[Service]
# 注意这个地方是个坑,如果你的mongodb配置文件中设置的作为守护线程运行,下面这一行一定要加上
Type=forking
User=star
ExecStart=/usr/aliyun/mongodb/bin/mongod -f /usr/aliyun/mongodb/bin/mongod.conf
[Install]
WantedBy=multi-user.target

然后加上执行权限
sudo chmod +x mongodb.service

可以尝试用service启动服务
sudo service mongodb start
用service运行停止mongod都没问题

下面设置开机启动
sudo systemctl enable mongodb
尝试重启系统https://blog.csdn.net/lovelovelovelovelo/article/details/52023041https://blog.csdn.net/lipei_csdn/article/details/81805400https://blog.csdn.net/MiaodXindng/article/details/81774273https://blog.csdn.net/u012702547/article/details/79001275https://www.cnblogs.com/liuq1991/p/8073895.htmlhttp://www.mamicode.com/info-detail-2370774.htmlhttps://blog.csdn.net/cug_jiang126com/article/details/42182213

开机自启动https://blog.csdn.net/junbujianwpl/article/details/51934009https://blog.csdn.net/yezhenxu1992/article/details/51375123https://blog.csdn.net/vincentqiaot/article/details/45603431https://blog.csdn.net/qq_39792062/article/details/80952908https://blog.csdn.net/AIkiller/article/details/81355179https://blog.csdn.net/junbujianwpl/article/details/51934009https://blog.csdn.net/bbaaEE/article/details/81702253https://www.cnblogs.com/magicsky0/p/3383812.htmlhttps://blog.csdn.net/yzh_1346983557/article/details/81735755https://blog.csdn.net/sodino/article/details/52402368https://www.jianshu.com/p/06e3f8e68fachttps://www.jianshu.com/p/3781780de9c2http://www.cnblogs.com/Anwar/p/9861441.htmlhttp://yunkus.com/centos-7-install-and-start-mongodb/?replytocom=4305

我的配置文件,使用时 记得 mongod --help
mongodb.conf 配置的多了容易出错,写入常用的就可以了

#详细记录输出
 #verbose=true
#vv = true
dbpath=/usr/aliyun/mongodb4.0.3/data/db #数据文件存放目录
logpath=/usr/aliyun/mongodb4.0.3/logs/mongodb.log #日志文件存放目录
port=27017 #端口,默认27017,可以自定义
logappend=true #开启日志追加添加日志
fork=true #以守护程序的方式启用,即在后台运行
bind_ip=0.0.0.0 #默认是127.0.0.1,开启远程访问
#pidfilepath=/usr/aliyun/mongodb4.0.3/mongo.pid
#directoryperdb = true #设置每个数据库被保存在一个单独的目录
#shardsvr=true
#auth=false #开启验证
#quiet=true  只输出错误日志

错误:ERROR: child process failed, exited with error number 14

1.找到mongod.lock文件,并删除mongod.lock,删除日志文件,重新建日志文件
2.以修复方式启动mongodb
/usr/xxx/mongod -f mongod.conf --repair
出现这种情况:

[root@xu bin]# ./mongod -f ../mongodb.conf
2018-11-03T19:30:13.032+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
about to fork child process, waiting until server is ready for connections.
forked process: 16976
ERROR: child process failed, exited with error number 48
To see additional information in this output, start without the "--fork" option.

有可能是你在服务没关闭时修改了配置文件,然后修改完后,再次启动了服务(之前的没关闭,最好等关闭服务后,修改配置文件)
使用:

./mongod -f ../mongodb.conf --shutdown

关闭服务,再次启动即可:

./mongod -f ../mongodb.conf

https://blog.csdn.net/sinat_30397435/article/details/50774175https://blog.csdn.net/ericlyn/article/details/81747785https://blog.csdn.net/zhongbaolin/article/details/50850663https://www.cnblogs.com/joshua317/articles/5190385.htmlhttps://blog.csdn.net/weixin_41787887/article/details/82763551https://blog.csdn.net/zpc15200790194/article/details/52611520

写于2018/10/31
更新于2018/11/1 7:xx

【解决办法】:

  1. 在 mongo.conf 文件添加一下属性值
    nojournal=true 开启这个选项
  2. 删除mongo 下 mongo.lock文件
    sudo rm mongo.lock
  3. 修复数据 使用命令为:
    mongod --dbpath /your/db/path --repair
    4 启动mongo
    mongod --dbpath /你的Data路径/

http://www.cnblogs.com/northeastTycoon/p/9312894.htmlhttps://blog.csdn.net/qq_17335153/article/details/52116735https://www.cnblogs.com/dunitian/p/6274437.htmlhttps://blog.csdn.net/moonhmilyms/article/details/23746427https://blog.csdn.net/sinat_30397435/article/details/50774175https://yq.aliyun.com/ziliao/479452https://blog.csdn.net/mmsxst10062710/article/details/17260175https://www.cnblogs.com/dunitian/p/6274437.htmlhttps://segmentfault.com/q/1010000008514239https://stackoverflow.com/questions/30476447/mongodb-error-child-process-failed-exited-with-error-number-14https://blog.csdn.net/ericlyn/article/details/81747785https://blog.csdn.net/gatieme/article/details/51058797https://blog.csdn.net/isoleo/article/details/51732687https://blog.csdn.net/xzw_123/article/details/46878459https://blog.csdn.net/isoleo/article/details/51732687https://www.aliyun.com/jiaocheng/129954.htmlhttps://stackoverflow.com/questions/15963147/install-mongodb-child-process-failed-exited-with-error-number-100https://segmentfault.com/q/1010000008514239https://www.jb51.net/article/109091.htmhttps://stackoverflow.com/questions/30476447/mongodb-error-child-process-failed-exited-with-error-number-14https://blog.csdn.net/sinat_30397435/article/details/50774175https://blog.csdn.net/ericlyn/article/details/81747785https://blog.csdn.net/zhongbaolin/article/details/50850663https://stackoverflow.com/questions/39293242/error-child-process-failed-exited-with-error-number-1-mongodbhttps://www.cnblogs.com/joshua317/articles/5190385.htmlhttps://stackoverflow.com/questions/43876592/error-child-process-failed-exited-with-error-number-51-mongodbhttp://www.bubuko.com/infodetail-2527095.htmlhttps://www.cnblogs.com/joshua317/articles/5190385.htmlhttp://yunkus.com/centos-7-install-and-start-mongodb/?replytocom=4305 更新于 2018/11/2 7:xx

windows下安装: 安装时候有个地方一定不能勾选,见https://blog.csdn.net/Artful_Dodger/article/details/80844844https://blog.csdn.net/heshushun/article/details/77776706https://blog.csdn.net/Artful_Dodger/article/details/80844844 MongoDB安装过程中的坑(最后一步卡住)

安装完之后,首先创建 db目录 D:\xxx\MongoDB\data\db 然后在安装目录下bin目录中,执行 cmd 命令:mongod dbpath D:\xxx\MongoDB\data\db 在浏览器输入http://localhost:27017 (27017是mongodb的端口号) 以上两个链接已经很详细了,这里只说我遇到的问题

更新于2018年12月2日 16:45 使用可视化工具的时候使用 用Robohttps://robomongo.org/download 小编安装的mongodb4.0,然后使用MongoVUE 连接数据库,插入数据后,一直不显示,搞了好久,实在很无奈,一直认为是代码的问题,最后抱着试试的心态,换Robo可视化工具,数据已经正常插入了,已经在数据库了。坑,巨坑,是可视化工具的问题