环境:
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
https://blog.csdn.net/lu8000/article/details/83149063
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/52023041
https://blog.csdn.net/lipei_csdn/article/details/81805400
https://blog.csdn.net/MiaodXindng/article/details/81774273
https://blog.csdn.net/u012702547/article/details/79001275
https://www.cnblogs.com/liuq1991/p/8073895.html
http://www.mamicode.com/info-detail-2370774.html
https://blog.csdn.net/cug_jiang126com/article/details/42182213
开机自启动
https://blog.csdn.net/junbujianwpl/article/details/51934009
https://blog.csdn.net/yezhenxu1992/article/details/51375123
https://blog.csdn.net/vincentqiaot/article/details/45603431
https://blog.csdn.net/qq_39792062/article/details/80952908
https://blog.csdn.net/AIkiller/article/details/81355179
https://blog.csdn.net/junbujianwpl/article/details/51934009
https://blog.csdn.net/bbaaEE/article/details/81702253
https://www.cnblogs.com/magicsky0/p/3383812.html
https://blog.csdn.net/yzh_1346983557/article/details/81735755
https://blog.csdn.net/sodino/article/details/52402368
https://www.jianshu.com/p/06e3f8e68fac
https://www.jianshu.com/p/3781780de9c2
http://www.cnblogs.com/Anwar/p/9861441.html
http://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/50774175
https://blog.csdn.net/ericlyn/article/details/81747785
https://blog.csdn.net/zhongbaolin/article/details/50850663
https://www.cnblogs.com/joshua317/articles/5190385.html
https://blog.csdn.net/weixin_41787887/article/details/82763551
https://blog.csdn.net/zpc15200790194/article/details/52611520
写于2018/10/31
更新于2018/11/1 7:xx
【解决办法】:
-
在 mongo.conf 文件添加一下属性值
nojournal=true 开启这个选项 -
删除mongo 下 mongo.lock文件
sudo rm mongo.lock
-
修复数据 使用命令为:
mongod --dbpath /your/db/path --repair
4 启动mongomongod --dbpath /你的Data路径/
http://www.cnblogs.com/northeastTycoon/p/9312894.html
https://blog.csdn.net/qq_17335153/article/details/52116735
https://www.cnblogs.com/dunitian/p/6274437.html
https://blog.csdn.net/moonhmilyms/article/details/23746427
https://blog.csdn.net/sinat_30397435/article/details/50774175
https://yq.aliyun.com/ziliao/479452
https://blog.csdn.net/mmsxst10062710/article/details/17260175
https://www.cnblogs.com/dunitian/p/6274437.html
https://segmentfault.com/q/1010000008514239
https://stackoverflow.com/questions/30476447/mongodb-error-child-process-failed-exited-with-error-number-14
https://blog.csdn.net/ericlyn/article/details/81747785
https://blog.csdn.net/gatieme/article/details/51058797
https://blog.csdn.net/isoleo/article/details/51732687
https://blog.csdn.net/xzw_123/article/details/46878459
https://blog.csdn.net/isoleo/article/details/51732687
https://www.aliyun.com/jiaocheng/129954.html
https://stackoverflow.com/questions/15963147/install-mongodb-child-process-failed-exited-with-error-number-100
https://segmentfault.com/q/1010000008514239
https://www.jb51.net/article/109091.htm
https://stackoverflow.com/questions/30476447/mongodb-error-child-process-failed-exited-with-error-number-14
https://blog.csdn.net/sinat_30397435/article/details/50774175
https://blog.csdn.net/ericlyn/article/details/81747785
https://blog.csdn.net/zhongbaolin/article/details/50850663
https://stackoverflow.com/questions/39293242/error-child-process-failed-exited-with-error-number-1-mongodb
https://www.cnblogs.com/joshua317/articles/5190385.html
https://stackoverflow.com/questions/43876592/error-child-process-failed-exited-with-error-number-51-mongodb
http://www.bubuko.com/infodetail-2527095.html
https://www.cnblogs.com/joshua317/articles/5190385.html
http://yunkus.com/centos-7-install-and-start-mongodb/?replytocom=4305
更新于 2018/11/2 7:xx
windows下安装:
安装时候有个地方一定不能勾选,见https://blog.csdn.net/Artful_Dodger/article/details/80844844
https://blog.csdn.net/heshushun/article/details/77776706
https://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
使用可视化工具的时候使用 用Robo
https://robomongo.org/download
小编安装的mongodb4.0,然后使用MongoVUE 连接数据库,插入数据后,一直不显示,搞了好久,实在很无奈,一直认为是代码的问题,最后抱着试试的心态,换Robo可视化工具,数据已经正常插入了,已经在数据库了。坑,巨坑,是可视化工具的问题