Linux安装MongoDB 4.x

Linux安装MongoDB 4.x

一. 安装环境:CentOS7+MongoDB4.0.13

二.下载MongoDB

cd  /opt
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz
tar -zxvf mongodb-linux-x86_64-4.0.13.tgz
mv  mongodb-linux-x86_64-4.0.13 /usr/local/mongodb

三. 配置环境变量及配置文件

	#### 3.1配置系统环境变量:
vi /etc/profile

键盘按下“i”进入编辑模式即可。在文件的最后加上:

#mongodb
export PATH=$PATH:/usr/local/mongodb/bin

最后按下“Esc”,输入“:wq”保存退出vi编辑模式,source /etc/profile使修改生效

3.2 创建MongoDB数据存放文件夹和日志记录文件夹,为后面的配置文件使用:
mkdir /data/mongodb
mkdir /data/mongodb/db
mkdir /data/mongodb/logs
3.3 创建MongoDB运行时使用的配置文件:
# 进入bin目录下:
cd /usr/local/mongodb/bin
# 创建mongodb.conf配置文件
vim mongodb.conf
会提示是new file,直接输入下面内容
dbpath = /data/mongodb/db # 数据文件存放目录
logpath = /data/mongodb/logs/mongodb.log #日志文件存放目录
port = 27017 # 端口
fork = true # 以守护程序的方式启用,即在后台运行
# auth=true # 需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 # 允许远程访问,或者直接注释,127.0.0.1是只允许本地访问

最后“Esc”,输入“:wq”保存退出vim编辑模式即可

四. 启动MongoDB

4.1 启动MongoDB服务

进入bin目录下,加载配置文件方式启动

cd /usr/local/mongodb/bin
./mongod  -f  mongodb.conf

至此,MongoDB在Linux上的安装启动完毕

查看端口映射检查是否启动成功:netstat -nltp|grep mongod

ps -ef | grep mongo

4.2 关闭MongoDB

./mongod --shutdown --dbpath /data/mongodb/db(db文件目录,默认/data/db)

五. 创建账号

# 进入bin目录下
cd /usr/local/mongodb/bin
# 进入mongo
./mongo
# 展示db
show dbs
# 进去admin库
use admin
# 查看用户列表
show users
# 创建root用户 角色为管理员
db.createUser({user:'root',pwd:'root',roles:['userAdminAnyDatabase']})
#指定数据库创建用户
#db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

db.auth('root','root')
# 进入shopxx 库,如果不存在test库就会创建
use shopxx
#创建用户root 读写权限
db.createUser({user:'root',pwd:'root',roles:['readWrite']})

Built-In Roles(内置角色):

\1. 数据库用户角色:read、readWrite;
\2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
\3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
\4. 备份恢复角色:backup、restore;
\5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
\6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
\7. 内部角色:__system

具体角色:

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。

开启auth参数,认证通过后才能访问数据库
# 进入bin目录下:
cd /usr/local/mongodb/bin
# 创建mongodb.conf配置文件
vim mongodb.conf

# 放开注释
auth=true 

六. mongodb启动脚本

cd /etc/init.d/
# 创建文件
vim mongodb

填充以下内容

#!/bin/sh
#
#mongod - Startup script for mongod
#
# chkconfig: - 85 15
# description: Mongodb database.
# processname: mongod
# Source function library

. /etc/rc.d/init.d/functions
# things from mongod.conf get there by mongod reading it
# OPTIONS
OPTIONS=" --dbpath=/data/mongodb/db/ --logpath=/data/mongodb/mongodb.log --logappend &"
#mongod
mongod="/usr/local/mongodb/bin/mongod"
lockfile=/var/lock/subsys/mongod
start()
{
 echo -n $"Starting mongod: "
 daemon $mongod $OPTIONS
 RETVAL=$?
 echo
 [ $RETVAL -eq 0 ] && touch $lockfile
}

stop()
{
 echo -n $"Stopping mongod: "
 killproc $mongod -QUIT
 RETVAL=$?
 echo
 [ $RETVAL -eq 0 ] && rm -f $lockfile
}

restart () {
    stop
    start
}
ulimit -n 12000
RETVAL=0

case "$1" in
 start)
  start
  ;;
 stop)
  stop
  ;;
 restart|reload|force-reload)
  restart
  ;;
 condrestart)
  [ -f $lockfile ] && restart || :
  ;;
 status)
  status $mongod
  RETVAL=$?
  ;;
 *)
  echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
  RETVAL=1
esac
exit $RETVAL
# 启动
service mongodb start
# 停止
service mongodb stop
# 重启
service mongodb restart

注意 : 如果出现本地连接正常 远程无法连接情况,请注意开放端口号!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值