linux mongo 添加用户名和密码,MongoDB-4.2.2安装并配置账户密码进行访问

0.目的

下载MongoDB并安装,设置密码访问。

MongoDB官网会下载以下三个安装包

mongodb-org-server-4.2.2-1.el6.x86_64.rpm #MongoDB的服务,配置文件,启动脚本

mongodb-org-shell-4.2.2-1.el6.x86_64.rpm #包含mongo操作相关的shell命令

mongodb-org-tools-4.2.2-1.el6.x86_64.rpm #对MongoDB进行备份,分析的工具集

1.安装server

# rpm -ivh mongodb-org-server-4.2.2-1.el6.x86_64.rpm

# /etc/init.d/mongod start

starting mongod: [OK]

2.安装命令行用来登录mongodb

# rpm -ivh mongodb-org-shell-4.2.2-1.el6.x86_64.rpm

# mongo

> show dbs;

admin 0.000GB

config 0.000GB

local 0.000GB

3.设置MongoDB的管理员密码

> use admin

switched to db admin

> db.createUser({ user: "admin", pwd: "test123", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

Successfully added user: {

"user" : "admin_root",

"roles" : [

{

"role" : "userAdminAnyDatabase",

"db" : "admin"

}

]

}

##验证登录,如果返回1,则证明密码生效

> db.auth("admin", "test123")

1

4.创建一个db库test,并分配账号和密码****

#登录管理员

> use admin

> db.auth("admin","test123")

#创建test库

> use test

> db.createUser({ user: "test", pwd: "test123", roles: [{ role: "dbOwner", db: "test" }] })

Successfully added user: {

"user" : "test",

"roles" : [

{

"role" : "dbOwner",

"db" : "test"

}

]

}

#程序调用以下链接即可:mongodb://test:test123@localhost/test

运维中无法启动的一些故障

1.服务restart后,会出现无法开启的问题,查找日志如下

# /etc/init.d/mongod start

starting mongod: [FAILED]

# tail -f /var/log/mongdb/mongod.log

2019-12-25T10:43:44.336+0800 I CONTROL [initandlisten] distarch: x86_64

2019-12-25T10:43:44.336+0800 I CONTROL [initandlisten] target_arch: x86_64

2019-12-25T10:43:44.336+0800 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1", port: 27017 }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid", timeZoneInfo: "/usr/share/zoneinfo" }, storage: { dbPath: "/var/lib/mongo", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }

2019-12-25T10:43:44.336+0800 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted

2019-12-25T10:43:44.336+0800 F - [initandlisten] Fatal Assertion 40486 at src/mongo/transport/transport_layer_asio.cpp 693

2019-12-25T10:43:44.336+0800 F - [initandlisten]

***aborting after fassert() failure

解决方法:

# rm -fr /tmp/mongodb-27017.sock

# /etc/init.d/mongod start

starting mongod: [OK]

忘记密码的处理方式

use dbname

db.auth("username","password")

Error: Authentication failed.

0

提示:密码错误,已经忘记密码

1.注释掉认证配置

vi /etc/mongod.conf

将以下两行注释掉

security:

authorization: enabled

#security:

#authorization: enabled

2.修改密码

此时使用库就不需要进行账户,密码验证了

mongo --host IP

use dbname

db.changeUserPassword("username","password")

修改配置文件/etc/mongod.conf取消注释

重启

/etc/init.d/mongod reload

3.登录验证

mongo --host IP

use dbname

db.auth("username","new-password")

1

提示1,证明新密码修改成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值