主要记录MongoDB在Mac和Linux环境下安装与基本配置
Mac安装
安装:通过brew快捷安装
配置:brew方式安装,配置文件路径为/usr/local/etc/mongod.conf
# 常用可设置内容如下:
port=27017
dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/log/mongodb.log
# 设置为后台启动
fork = true
启动:mongod --config /usr/local/etc/mongod.conf
后台启动:mongod --fork --config /usr/local/etc/mongod.conf 如果报错,一般情况下是权限问题,使用sudo方式解决,如果配置文件中设置了fork,则可以省略--fork。
关闭mongo:输入mongo后,输入 use admin,然后输入 db.shutdownServer()
Linux安装
通过wget或者curl下载
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
解压
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
# 按照FHS规范,移动到usr/local
mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb
配置:export PATH=
启动:./bin/mongod --port port --dbpath data/db --logpath logs/mongodb.log,这里演示通过命令行启动,但是这样太复杂,建议通过配置文件的方式启动。
后台启动:sudo ./bin/mongod --fork --port port --dbpath data/db --logpath logs/mongodb.log
删除进程:killall -15 name(eg:killall -15 mongod)
设置用户名和密码
启动方式添加--auth参数,从上面Mac和Linux的启动方式就可以看出来Mongodb有两种启动方式
- 直接在命令后配置参数
- 写成配置文件,然后使用--config读取配置启动
- 强烈建议写成配置文件,首先自己设置的参数不会忘记,同时启动命令更加友好。
后台连接数据库:./bin/mongo ip:port
查看所有数据库:show dbs
- admin
- local
- 用户创建的
use databasename:该命令将创建一个新的数据库(如果它不存在),否则将返回现有的数据库
添加用户
- mongodb可以为每个数据库都建立权限认证,也就是你可以指定某个用户可以登录到哪个数据库。
- 在mongodb中admin数据库是一个特别的数据库,这个数据库的用户,可以访问mongodb中的所有数据库。
- 新增用户是需要权限的,最开始没有用户的时候,只能采取不认证的方式添加用户。如果有用户,并且权限足够的话,则需要认证才有权限执行操作。
查看所有用户:show users// 认证 db.auth("coderhuang","123456"); //新建 db.createUser( { user: "accountAdmin01", pwd: "changeMe", customData: { employeeId: 12345 }, roles: [ { role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" }, "readWrite" ] }, { w: "majority" , wtimeout: 5000 } )
system.user用户
- 每个数据库的用户账号都是以文档形式存储在system.users集合里面的,
- 查询某个数据库下的用户db.system.users.find();
- 删除某个数据库下的所有用户db.system.users.remove()
- 删除指定用户db.system.users.remove({'user':'用户名'})