如何设置密码

  1. 在服务启动状态下,在命令行中输入mongo
  2. 首先设置admin表的用户(必须,否则单独设置表用户无用),先执行use admin,再执行db.createUser({user: 'root', pwd: '123456', roles: ['root']}) ,此时会创建一个名为root,密码为123456,角色为root的用户,前两者可以自定义设置;
  3. 测试是否创建成功db.auth('root', '123456') ,返回1表示成功;
  4. 接下来为自己的数据库设置用户,假设我们的数据库名叫mydb先执行use mydb,再执行db.createUser({user:'myuser',pwd:'123456',roles: [{role:'readWrite',db:'mydb'}]}),此时会创建一个名为myuser,密码为123456,角色为只能读写的用户。
  5. 成功后执行exit退出;
  6. 开启验证登录功能:
  1. 如果服务是配置好的,开机能自动启动mongod服务,前往安装目录,找到mongod.conf打开,把security:前的井号去掉,并另起一行,加两个空格(不是tab),粘贴上authorization: enabled,保存后去服务重启服务即可。
  2. 如果需要命令行启动服务,在启动命令的后面加上 --auth即可(空格也需要),即windows的:mongod --dbpath D:\mongdb\Server\5.0\data --auth或linux的sudo mongod --dbpath /usr/local/MongoDB/data/db --auth

使用3T或者compas连接

  1. Authentication选择Username / Password
  2. 填入自己数据库的用户名密码;
  3. Authentication Database填入自己的数据库名称;
  4. 其它跟之前一样即可,点击连接。

如何在代码中连接

以python为例:

client = pymongo.MongoClient("mongodb://myuser:123456@localhost:27017/mydb")
db = self.client['mydb']

其它就和原来不用密码时一样的用法了,需要注意如果密码中有@符号,此种连接方法就不能用了。

如何修改密码

  1. 同样先在命令行执行mongo
  2. 如果需要改自己数据库对应的密码,比如mydb的,就执行use mydb,再执行db.changeUserPassword('myuser','654321')即可。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐