目的:
未开启认证的数据库,无账号密码就可以连接,有些话说着说着,泪就流了下来!因未开启认证造成的数据丢失
开启之前备注说明:
在开启认证之前需要给指定数据库添加管理员账号密码
###进入mongo命令行中
show dbs
###使用admin数据库
use admin
创建管理员账户
db.createUser({ user: "<yourUserName>", pwd: "<yourPassword>", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
mongodb中的用户是基于身份role的,
###该管理员账户的 role是 userAdminAnyDatabase。
#### userAdmin代表用户管理身份,
#### AnyDatabase 代表可以管理任何数据库
db.auth("<yourUserName>", "<yourPassword>")
###如果返回1,则表示认证成功。
如何开启?
其实也很简单,开启分为两种:
第一种:在启动的时候加上认证auth参数
mongod --port 27017 --dbpath /data/db1 --auth
第二种:在配置文件中加入配置参数
###修改配置文件
sudo vi /etc/mongodb.conf
#加上如下配置,注意缩进,缩进参照配置文件其他配置。否则重启服务失败
security:
authorization: enabled
###重启服务
/etc/init.d/mongodb restart
总结
有了账号密码,可以远程连接,在项目中配置使用了。