1.这里,直接用 OSX 的 brew 来安装 mongodb:
sudo brew install mongodb
2.安装完成之后将/bin
目录添加到PATH路径中
3.创建一个数据库存储目录
要运行mongodb需要一个数据库存储目录/data/db,安装mongodb时并不会自动生成,需要我们手动创建
sudo mkdir -p /data/db
4.启动mongodb
默认数据库目录即为 /data/db
sudo mongod
5.创建数据库及用户
用户管理员是第一个要创建的用户。在没有创建任何用户之前,你可以随意创建用户;但数据库中一旦有了用户,那么未登录的客户端就没有权限做任何操作了,除非使用db.auth(username, password)方法登录。
用户管理员的角色名叫 userAdminAnyDatabase,这个角色只能在 admin 数据库中创建。
在创建用户之前,我们首先要修改 MongoDB 的启动方式。缺省方式下 MongoDB 是不进行鉴权检查的。我们只要在运行 MongoDB 的命令后面加上一个 --auth 参数即可,例如:
sudo mongod --auth
另开一个客户端,执行下列命令:
sudo mongo
>show dbs //显示所有数据库
>use admin
>db.createUser({user:"root",pwd:"root",roles:["userAdminAnyDatabase"]})//创建用户管理员
> db.auth("root","root") //用管理员登录
首先保证你已经以用户管理员的身份登录 admin 数据库。然后用 use 命令切换到目标数据库,同样用 db.createUser() 命令来创建用户,其中角色名为 “readWrite”。
普通的数据库用户角色有两种,read 和 readWrite。顾名思义,前者只能读取数据不能修改,后者可以读取和修改。
>use test //创建数据库test (如果已经存在,则会切换到test数据库)
>db.createUser({user:"test",pwd:"test",roles:["readWrite"]}) //创建用户
> db.auth("root", "root") //用该用户登录
6.客户端(https://github.com/jeromelebel/MongoHub-Mac)
7.关闭数据库
>use admin
>db.auth("root", "root")
>db.shutdownServer()
这是一种关闭数据库的方法,但是从上面开启授权之后这里可能会报错告诉你没有权限执行关闭命令。这里还需要给root用户添加相应的权限
>db.updateUser("root",{roles:[{"role" : "userAdminAnyDatabase","db" : "admin"},{"role" : "dbOwner","db" : "admin"},{"role" : "clusterAdmin", "db": "admin"}]})
再执行db.shutdownServer()
就能正常关闭了。
最后帮朋友打个小广告