Hi,好久不见,有没有想我啊

下载安装包

MongoDB Download Center 下载适合自己的版本。

安装

将安装包通过FTP上传到服务器,然后解压要自己的目录。

比如:

# 解压
tar -zxvf mongodb-linux-x86_64-4.0.3.tgz
# 切换位置
cd /user/local/mongodb
# 剪切
mv mongodb-linux-x86_64-4.0.3 .

配置环境变量

# 打开环境变量配置文件(所有用户)
vim /etc/profile
# 配置
export PATH=/usr/local/mongodb/mongodb-linux-x86_64-4.0.3/bin:$PAT

启动

创建配置文件 mongodb.conf,内容如下:

# MongoDB数据库(文件)路径
dbpath=/data/mongodb/
# 日志路径
logpath=/data/mongodb/mongodb.log
# 
logappend=true
# 允许远程登录
bind_ip=0.0.0.0
#
fork=true
# 端口
port=27017

启动命令:

# 切换到安装目录(bin下)
./mongod -f /usr/local/mongodb/mongodb.conf &

连接测试

# 切换到安装目录(bin下)
./mongo

P.S.

据说,MongoDB默认的数据库文件路径:/data/db


2018.11.11更新

先说点题外话,安装完,其实我就觉得哪里不对,但是一时也说不出来,等到用的时候,才发现,用户名,密码往哪里填呢?

这才有了更新。


添加权限验证

按照上面步骤,我们开启服务。终端开始

./mongo

use admin

db.createUser(
  {
    user: "admin", #用户名
    pwd: "admin", # 密码
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

特别注意的是,这里的角色,他是默认的,如下。

角色

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

用户

有了上面的经验,我们就可以创建用户了。

  • 创建管理员
  • 创建用户
  • 用户校验

重启服务:

./mongod -f /usr/local/mongodb/mongodb.conf --auth &

URI

mongodb://username:password@ip:port/dbName

参考文档

[1] MongoDB 用户名密码登录 ——kimoCHG


2018.11.13 更新:远程连接和验证启动问题