Linux安装mongodb

1.连接阿里云服务器

连接阿里云服务器较为简单,这里不再赘述!

2.下载mongodb

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz

3.解压下载mongodb文件

tar zxvf mongodb-linux-x86_64-3.2.9.tgz

4.将解压过后的包移动到指定目录

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

5.创建数据文件夹和日志文件等

mkdir -p  /usr/local/mongodb/data
touch /usr/local/mongodb/logs
touch /usr/local/mongodb/mongodb.conf

6.启动

(1):第一种启动方式:

##进入mongo的bin目录下:
cd /usr/local/mongodb/bin
##通过参数无权限启动(通过mongodb客户端工具可直接访问)--权限不足的话加上sudo
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend  --port=27017 --fork 
##通过参数有权限启动--权限不足的话加上sudo
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
###mongodb非法关闭的时候若出现 about to fork child process, waiting until server is ready for connections 那么需要执行:
rm /data/mongodb/mongo.lock 命令    ###权限不足的话加上sudo
###再执行:
./mongod  --repair (命令修复)  ###权限不足的话加上sudo

(2):第二种启动方式:

###通过配置文件启动 首先进行配置:
vim /usr/local/mongodb/mongodb.conf   ###权限不足的话加上sudo
###在配置中加入如下代码:
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/logs
logappend = true 
port = 27017 
fork = true 
auth = true
###加入后保存退出:
:wq
###进入mongo的bin目录下:
cd /usr/local/mongodb/bin
###再执行:
./mongod --config /usr/local/mongodb/mongodb.conf

###如果执行以上命令出现权限问题则修改权限:
sudo chmod 777 mongodb.conf

7.启动起来之后我们ps看一下有没有当前进程,如果有的话那么就进入到bin目录下直接./mongo进入数据库:

ps aux | grep mongod

进入之后因为没有账户信息,所以需要我们创建一个MongoDB用户,创建命令如下:

# 先进入到管理员下
use admin

# 创建root用户
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

# 验证用户
db.auth("root","123456")

8.停止mongodb

./mongod -shutdown -dbpath=/usr/local/mongodb/data

9.开机启动的配置

##加入开机启动
vim /etc/rc.local
##在最下面加入
/usr/local/mongodb/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
##或者创建配置文件(编辑mongodb.conf)
dbpath=/usr/local/mongodb/data
port=27017
auth=true
logpath=/usr/local/mongodb/logs
logappend=true
fork=true
##在/lib/systemd/system/目录下新建mongodb.service文件(mongodb.service)
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mongodb/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/mongodb/bin/mongod  --shutdown --config /usr/local/mongodb/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

##设置权限    
chmod 754 mongodb.service  
##开机启动   
systemctl enable mongodb.service 
##启动服务    
systemctl start mongodb.service    
##关闭服务    
systemctl stop mongodb.service 
##加入环境变量 
vim /etc/profile
#在最后加入
export PATH="/usr/local/mongodb/mongodb/bin:$PATH"
#保存后执行
source /etc/profile
##mongodb导出导入
导出:mongodump -h 127.0.0.1 --port 27017 -u username -p password -d dbName -o D:dbName
导入:mongorestore -h 127.0.0.1 --port 27017 -u username -p password -d dbName --drop D:dbName 
##windows下添加mongo启动到windows服务
mongod.exe --auth --config D:mongodbdatamongo.conf --install --serviceName "MongoDB" --journal
##如果忘记超级用户密码,可以先把配置文件的 auth=true 注释,然后重启mongo,之后进入终端用下面命令修改密码
db.changeUserPassword("root","root")

10.mongodb错误的总结

(1).child process failed, exited with error number 1

(2).child process failed, exited with error number 48

(3).child process failed, exited with error number 100

古今成大事者,不唯有超世之才,必有坚韧不拔之志!
原文地址:https://www.cnblogs.com/songwp/p/15223192.html