美文网首页
MongoDB安装配置-叔叔的爱

MongoDB安装配置-叔叔的爱

作者: 卡修卡修 | 来源:发表于2018-12-13 14:40 被阅读11次

你好啊大侄女儿,叔叔今天帮你解锁新姿识
要是有啥问题,赶紧加微信viower进行一场轰轰烈烈的学术 性交流

一. 下载MongoDB

  1. 我的环境 阿里云 CentOS

  2. 我的工具 FinalShell | Robo

  3. 根据你自己嗰的系统去官网下载适合的MongoDB
    https://www.mongodb.com/download-center/community

  4. 那么优秀的我,当然是这样选啦😅:
  5. 一般是把MongoDB装在 /usr/local/ 目录下面
    cd /usr/local

  6. 你可以选择下载到本地再上传到服务器,或者直接(复制下面的灰底字)
    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-x.x.x.tgz


二. 安装MongoDB

  1. /usr/local目录下面运行
    tar -zxvf mongodb-linux-x86_64-x.x.x.tgz

  2. 作为强迫症患者,你可以把文件夹重命名为mongodb
    mv /usr/local/mongodb-linux-x86_63-x.x.x /usr/local/mongodb


三. 配置&启动MongoDB

  1. 创建数据存放目录和日志目录
    cd /usr/local/mongodb
    mkdir db
    mkdir logs
  2. 配置
    你可以选择创建配置文件,在/usr/local/mongodb/bin目录下创建mongodb.conf文件
    vi mongodb.conf

#数据库目录
dbpath=/usr/local/mongodb/db
#日志目录
logpath=/usr/local/mongodb/logs/mongodb.log
#监听端口
port=27017
#后台混淆
fork=true
#需要身份验证
#auth=true

  1. 执行bin目录下的mongod并指定配置文件
    cd /usr/local/mongodb/bin
    ./mongod -f mongodb.conf
  2. 或者直接运行指令启动
    ./mongod --dbpath=/usr/local/mongodb/db --logpath=/usr/local/mongodb/logs/mongodb.log --port=27017 --fork=true
  3. 配置开机启动,编辑/etc/rc.d/rc.local
    vi /etc/rc.d/rc.local
    在文件末尾添加一行:
    /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
    配置完成后重启测试一下,祝你好运🙆
  4. 如果闲每次都要cdbin目录下打指令,可以全局配置一下
    vim ~/.bash_profile
    在末尾添加两行:
    export MONGODB_HOME=/usr/local/mongodb/bin
    export PATH=$MONGODB_HOME:$PATH
    保存(i编辑,esc退出编辑,:wq保存编辑)以后就可以直接mongo运行指令了

四. 关闭MongoDB服务

  1. 进入mongoDB控制台
    mongo/usr/local/mongodb/bin/mongo
  2. 切换到admin(配置数据库)
    use admin
  3. 关闭服务
    db.shutdownServer();
  4. 退出控制台
    exit 或者直接 ctrl + c
  5. 再次运行mongo ... 😮失败了~
  6. 或者你可以暴力结束进程
    使用ps -aux查看所有进程,查找mongod所在进程的pid
    然后杀掉该进程
    kill -9 24760

五. MongoDB创建用户

  1. 上面的配置项我们注释了auth,这样你就可以不用认证直接操作数据库。但一般来说,你必须设计自己的安全策略。首先应该创建不同的用户并分配不同的权限
  2. 创建用户
    use admin
    db.createUser({ user: "root", pwd: "xxxxxx", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
  3. 上面的指令中role是用户的权限,下面是详细选项及含义

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

  1. 创建用户成功后,我们重启mongoDB服务,在指令后面加--auth
    mongod -f /usr/local/mongodb/bin/mongodb.conf --auth
    或者在配置文件内加上auth=true
  2. 启动后执行任意指令
    例如show dbs
    啊哦😲报错了
  3. 因为你没有验证身份啊,兄dei~
    use admin
    db.auth("root", "xxxxxx")
    系统返回1表示验证成功
  4. 或者你可以在进入MongoDB控制台时进行用户验证
    mongo -u "root" -p "xxxxxx" --authenticationDatabase "admin"
  5. 查看所有用户
    db.system.users.find()
  6. 修改用户信息
    db.updateUser("admin", { user: "root", pwd: "xxxxxx", roles: [ "root","userAdminAnyDatabase" ] } )

六. 远程连接MongoDB

  1. 查看防火墙状态
    service iptables status 了解详情
  2. 如果有开启,就要开放MongoDB服务端口(默认27017)咯
    iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
    然后重启防火墙
    service iptables restart
  3. 还可以设置绑定到指定的IP地址,禁止白名单以外的IP访问
    设置配置文件(mongodb.conf),加上一行

bind_ip=127.0.0.1 #本地访问
bind_ip=0.0.0.0 #全网可访问

  1. 最后打开我们熟悉的Robo
  2. 🙊🙊🙊连接成功!

相关文章

网友评论

      本文标题:MongoDB安装配置-叔叔的爱

      本文链接:https://www.haomeiwen.com/subject/nppvhqtx.html