根据项目开发环境部署而从网上的博文总结修改而来,实践可行无误
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