CentOS6.5 安装 MongoDB

巧了我就是萌 提交于 2020-04-05 15:04:31

根据项目开发环境部署而从网上的博文总结修改而来,实践可行无误

1、下载MongoDB

http://www.mongodb.org/downloads

mongodb-linux-x86_64-3.6.3.tgz  #目前最新版是4.0.0

 

2、建议关闭selinux

[root@mycentos ~]# vi /etc/selinux/config
 
SELINUX=disabled
 

3、关闭防火墙或都增加MongoDB端口

#清空防火墙

[root@mycentos ~]# iptables -F
#增加端口

[root@mycentos ~]# vi /etc/sysconfig/iptables
 
-A RH-Firewall-l-INPUT -P tcp -m tcp --dport 27017(mongoDB端口号) -j ACCEPT    #允许27017端口通过防火墙
 
[root@mycentos ~]# /etc/init.d/iptables restart    #重启防火墙使配置生效
 或

 

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
 

 

 

4、解压MongoDB

[root@mycentos mypackages]# tar xzf mongodb-linux-x86_64-3.2.8.tgz
[root@mycentos mypackages]# mv mongodb-linux-x86_64-3.2.8 /usr/local/mongodb
 

5、创建数据库和日志存放路径

[root@mycentos ~]# mkdir -p /data/mongodb_data
[root@mycentos ~]# mkdir -p /data/mongodb_log
 

6、启动MongoDB

[root@mycentos ~]# /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/data/mongodb_data/ --logpath=/data/mongodb_log/mongodb.log --logappend
[root@mycentos mongodb_log]# netstat -lanp | grep 27017    #查看MongoDB是否启动成功
 

7、进行MongoDB控制台

[root@mycentos ~]# cd /usr/local/mongodb/bin/
[root@mycentos bin]# ./mongo  #进入MongoDB数据库控制台
 
> use admin  #进入admin数据库
> db.shutdownServer()  #关闭MongoDB数据库
> exit #退出


 

8、接下来做一个配置文件

[root@mycentos ~]# cd /usr/local/mongodb
[root@mycentos mongodb]# vi mongodb.conf
 
port=27017  #端口号
dbpath=/data/mongodb_data/              #数据库路径,这里最好用绝对路径,不要用../
logpath=/data/mongodb_log/mongodb.log   #日志输出文件路径,这里最好用绝对路径,不要用../
pidfilepath=/usr/local/mongodb/mongo.pid  #这个可以不写
fork=true            #设置后台运行
logappend=true       #日志输出方式
 
:wq #保存退出


 

那么下次启动的时候:

[root@mycentos mongodb]# ./bin/mongod -f mongodb.conf        #启动MongoDB
[root@mycentos mongodb]# ./bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"  #关闭MongoDB
 

9、设置开机启动

[root@mycentos ~]# vi /etc/rc.d/init.d/mongod
#!/bin/sh
# chkconfig: - 64 36
# description:mongod

 
start() {  
/usr/local/mongoDB/mongodbserver/bin/mongod  --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf #/usr前面不要有空格
}  
  
stop() {  
/usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf --shutdown  
}

 

 
status() {  
/usr/local/mongoDB/mongodbserver/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
}
case "$1" in start) start ;; stop) stop ;;


 

 
status)  
 status  
 ;;  
restart) stop start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac :wq! #保存退出

 

 

[root@mycentos ~]# chmod +x /etc/rc.d/init.d/mongod  #添加脚本执行权限
[root@mycentos ~]# chkconfig mongod on  #设置开机启动
[root@mycentos ~]# service mongod start #启动MongoDB
 

10、设置环境变量

[root@mycentos ~]# vi /etc/profile  #添加环境变量
 
export PATH=$PATH:/usr/local/mongodb/bin
:wq! #保存退出
 
[root@mycentos ~]# source /etc/profile  #使配置立即生效
[root@mycentos ~]# mongo  #进入MongoDB控制台,可以直接使用mongodb命令了。


 

11、远程连接

[root@mycentos ~]# cd /usr/local/mongodb/bin/
[root@mycentos bin]# ./mongo  #进入MongoDB数据库控制台
 
> use admin  #进入admin数据库
 

1)、创建用户名

查看是否存在用户

db.system.users.find()

如无用户 创建一个 如果有 就删除 

db.system.users.remove({})

首先添加个管理员账号(root权限):

 db.createUser({
    user:"root",
    pwd:"123456",
    roles:[{role:"root",db:"admin"}]
    })
 
添加个普通账号(读写权限): 
(命令中的db 代表用户所分配的数据库)

db.createUser({
                  user:"user",                                   
                  pwd:"123456",
                  roles:[{role:"readWrite",db:"test"}]
             });
 
② 修改配置文件
在conf/mongodb.conf下增加

bind_ip=0.0.0.0  #允许所有ip远程访问
auth=true  #一定要授权登录(需要用户名和密码)
 

修改好了后,重启MongoDB,远程连接正常

 

如果还不行,则需要:

 

打开防火墙端口

iptables -A INPUT -p tcp -m tcp --dport 27017 -j ACCEPT 
暂时关闭selinux

setenforce 0

 

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