正经学徒,佛系记录,不搞事情
一、下载
选中对应系统的版本
二、上传解压
将压缩包上传至服务器并解压(可通过xshell、xftp或者securityCRT、securityFX连接Linux远程服务器)
xftp下载地址:链接: https://pan.baidu.com/s/1QIOSvW7nm3oYg9_h_64b4w 提取码: dt5v
xshell下载地址:链接: https://pan.baidu.com/s/1ZuUOziiyi__uRE2t8Dw5Jw 提取码: zdae
使用命令 rz -y 上传文件,如果无法使用该命令,则通过 yum -y install lrzsz 安装 rz sz上传下载命令后在执行上传文件命令
解压命令:
tar -zxvf mongodb-linux-x86_64-4.0.6.tgz
三、安装
- 首先创建相应的目录
自定义 MongoDB 的日志和数据存放目录
- 创建配置文件
这个步骤目的是为了方便通过配置文件来启动mongo服务,使用命令 vi mongod.config 创建文件,填写内容
# mongodb port number
port=27017
# mongodb data file path
dbpath=/home/mongo/db/
# mongodb log file path
logpath=/home/mongo/log/mongo.log
# mongodb automatically append log files
logappend=true
注意现在暂时不要加上权限auth=true,需要先创建用户后在更改
- 创建系统服务启动文件
这个步骤也只是为了方便启动服务等操作,使用命令 cd /etc/init.d/ 进入系统目录,使用命令 vi mongod 创建mongo服务文件
#!/bin/sh
MONGO_PATH=/home/mongo/mongodb-linux-x86_64-4.0.6/bin/mongod
MONGO_PID=`ps -ef|grep 'mongod' | grep -v grep|awk '{print $2}'`
test -x $MONGO_PATH || exit 0
case "$1" in
start)
ulimit -n 2000
echo "starting mongod server"
$MONGO_PATH --fork --quiet -f /home/mongo/mongod.config
echo "started mongod server"
;;
stop)
echo "stopping mongod server"
if [ ! -z "$MONGO_PID" ]; then
kill -15 $MONGO_PID
fi
echo "stopped mongod server"
;;
status)
;;
*)
echo "usage: mongod {start|stop|status}"
exit 1
esac
exit 0
为创建的文件添加可执行权限
chmod +x mongod
- 测试
mongo系统服务常用命令,不同系统方式不同
#CentOS 7.x之前 daemon命令....................
#启动服务
service mongod start
#关闭服务
service mongod stop
#查看状态
service mongod restart
#CentOS 7.x之后 systemctl命令.................
#启动服务
systemctl start mongod
#关闭服务
systemctl stop mongod
#查看状态
systemctl status mongod
我的系统是7.x之前的,所以使用systemctl会提示找不到命令,改用daemon方式启动服务
四、权限设置
- 创建管理员账号
进入mongo的bin目录 /home/mongo/mongodb-linux-x86_64-4.0.6/bin ,执行 ./mongo 启动mongo客户端
输入命令 use admin 切换 admin 数据库,执行命令创建用户
db.createUser({
user:"管理员账号",pwd:"管理员密码",
roles:[{role:"权限",db:"库名"},{role:"权限",db:"库名"}]
});
之后还有最后一步很重要,就是在admin库内执行 db.auth(账号,密码); 授权,否则开启权限后将没有权限操作数据库
- 创建普通用户
过程类似创建管理员账户,只是 role 不同,这里创建一个叫 ahaha 的库
db.createUser({
user:"用户账号",pwd:"用户密码",
roles:[{role:"权限",db:"库名"}]
})
- 开启权限
修改 mongod.config 文件,增加 auth=true,增加绑定的ip bind_ip=0.0.0.0, 顺便设置成服务后台启动 fork=true
# 启动权限
auth=true
# 后台启动
fork=true
# 设置可被哪个ip连接,当前表示所有机器
bind_ip=0.0.0.0
再一次重启服务即可使用
五、远程连接
使用mongochef客户端远程连接linux上的mongo服务
- 添加开放端口
注:如果已经关闭了防火墙则跳过这一步
#修改防火墙配置表
vi /etc/sysconfig/iptables
增加你mongo的端口,不要加在末尾,可能不生效
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
重启防火墙配置
/etc/init.d/iptables restart
- 使用 mongochef 连接
相应的,如果是连接 ahaha 的库,修改对应位置即可
如果出现管理员账号可以连接,但是非管理员账号不能连接
则参考博文:https://blog.csdn.net/qq_31748587/article/details/88712001