安装Mongodb并解决用户授权问题

本文围绕学校大数据作业中Mongodb的使用展开。因yum安装Mongodb在用户授权时出错,作者介绍了从下载压缩包、解压创建文件夹、配置mongo.conf、启动服务、打开数据库、创建用户到重新登录授权的完整流程,还给出登录无授权的解决办法。

前言:

最近学校有个大数据的作业要用到Mongodb,原本以为很快就可以搞定。但用yum安装的Mongodb在用户授权时一直出错,具体问题如下:

[js] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "command listDatabases requires authentication",
"code" : 13,
"codeName" : "Unauthorized"
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:67:1
shellHelper.show@src/mongo/shell/utils.js:876:19
shellHelper@src/mongo/shell/utils.js:766:15
@(shellhelp2):1:1

后来在网上找到别的方法解决了用户授权问题。

 

1.下载压缩包

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.2.tgz

 

2.解压并创建相应文件夹

tar -zxf mongodb-linux-x86_64-rhel70-4.0.2.tgz

mv mongodb-linux-x86_64-rhel70-4.0.2 /usr/local/mongodb-4.0.2

cd /usr/local/mongodb-4.0.2/

mkdir -p data

mkdir -p log

 

3.配置mongo.conf

vim mongo.conf

然后填写如下内容:

#端口号
port=27017
#数据保存路径
dbpath=/usr/local/mongodb-4.0.2/data
#日志保存路径
logpath=/usr/local/mongodb-4.0.2/log/mongo.log
#设置后台运行
fork=true
#日志输出方式
logappend=true
#开启认证
auth=true
#绑定IP(可以绑定多个IP,例:bindIp: 127.0.0.1,192.33.3.3)
bind_ip=0.0.0.0

 

4.启动mongodb服务

./bin/mongod --config mongo.conf

 

5.打开mongodb

./bin/mongo(没有使用用户名和密码)

简单的操作
> use admin
switched to db admin

> show dbs
admin    0.000GB
config   0.000GB
local    0.000GB
>

 

6.创建用户

use admin
db.createUser({user:"test",pwd:"test",roles:[{role:"root",db:"admin"}]});

此时创建了用户,但是登录时没有使用用户名和密码,所以之后再使用show dbs会显示没有授权。授权已经在配置文件中配好了,现在只需要退出再登录就可以了。

 

7.使用创建的用户名和密码重新登录

./bin/mongo -u "test" -p "test" --authenticationDatabase "admin"

授权后就拥有了用户名,此时就可以在例如python程序中连接数据库,并将数据保存在mongodb中。

 

如果第7步登上去还是显示没有授权,可以使用以下命令:

use admin
db.shutdownServer();
exit

Ps:可能还需要在mongodb文件夹里找到mongod.lock然后

rm -f /usr/local/mongodb/data/db/mongod.lock

退出后再重启服务:./bin/mongod --config mongo.conf

然后再使用:./bin/mongo -u "test" -p "test" --authenticationDatabase "admin"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tyler_Zx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值