下载安装
curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.5.tgz或者 官网下载tar包- 解压
tar -zxvf mongodb-osx-ssl-x86_64-4.0.5.tgz - 重命名
mv ./mongodb-osx-ssl-x86_64-4.0.5.tgz ./mongodb - 移动到合适位置
sudo mv ./mongodb /usr/local/opt/ - 在.bashrc文件添加
export PATH=/usr/local/opt/mongodb/bin:$PATH
brew安装
sudo brew install mongodbsudo brew install mongodb --with-openssl// 要安装支持 TLS/SSL 命令sudo brew install mongodb --devel// 安装最新开发版本
运行数据库
创建数据库目录和日志目录
sudo mkdir -p /usr/local/var/mongo/db /usr/local/var/mongo/logs启动数据库,指定数据库目录和日志目录,日志采用分文件存储
mongod --dbpath /usr/local/var/mongo/db --logpath /usr/local/var/mongo/logs/mongodb.log --logRotate rename &
连接数据库
连接命令:mongo
但是新版本会提示:‘WARNING: Access control is not enabled for the database.’,这是MongDB增加了安全性设计,推荐用户进行身份验证。
创建管理员账号和密码,并设置权限,在mongo命令行输入
1
2
3
4
5
6
7
8use admin
db.createUser(
{
user: "admin",
pwd: "123123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)重启MongoDB服务器
1
2// 先kill了原来的进程,然后加--auth参数再启动mongo
mongod --auth --dbpath /usr/local/var/mongo/db --logpath /usr/local/var/mongo/logs/mongodb.log --logRotate rename &用户名登录
mongo -u admin -p 123123 --authenticationDatabase admin
其他
添加额外权限用户
1 | use test |
- 数据库用户角色:read、readWrite;
- 数据库管理角色:dbAdmin、dbOwner、userAdmin;
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
- 备份恢复角色:backup、restore;
- 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase) - 内部角色:__system
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root:只在admin数据库中可用。超级账号,超级权限