linux下安装和配置mongodb

本文详细介绍了MongoDB在Linux环境下的安装步骤与配置方法,包括如何设置认证、创建用户及角色,并提供了启动命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

###一、mongodb的安装和配置
1.下载压缩包:mongodb-linux-i686-v3.2-latest.tgz,下载之前,先查看自己的服务器是多少位的,命令:getconf
LONG_BIT(有很多的方式,可以自行百度)
2. 解压安装:tar zxf mongodb-linux-i686-v3.2-latest.tgz(可以放置在根目录下)
3. 移动解压后的文件到mongodb:mv 解压后文件名 /usr/local/mongodb
4. 进入mongodb中创建db和logs: mkdir db/logs
5. /etc/profile中添加

#mongodb 	
	    export MONGODB_HOME=/usr/local/mongodb 	
	    export PATH=$MONGODB_HOME/bin:$PATH

6.在mongodb的bin文件中建立mongodb.conf文件:

dbpath=/usr/local/mongodb/db 
logpath=/usr/local/mongodb/logs/mongodb.log   
port=27017 
fork=true
#auth=true //auth=true的时候登录mongodb需要验证用户名和密码

7.通过配置文件启动:
[root@localhost bin]# ./mongod -f mongodb.conf --journal

8.连接mongodb、进入mongodb的bin目录:

[root@localhost bin]# ./mongo
MongoDB shell version: 3.2.20-16-g4c2d1a88c1
connecting to: test
> 

已经连接上,如果再mongodb.conf配置文件中没有配置auth=true的话可以直接使用如下:

> show dbs;
admin       0.078GB
local       0.078GB
yiwen_test  0.078GB

此时开始创建用户


> use test_yiwen
switched to db test_yiwen
> db.createUser({ user: "test",pwd: "1234",customData:{name:"test"},roles:[{ role: "readWrite",db: "test_yiwen" }]})
Successfully added user: {
	"user" : "test",
	"customData" : {
		"name" : "test"
	},
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "test_yiwen"
		}
	]
}
//表示成功了。。。
use test_yiwen //表示创建库,如果再创建了库,而没用使用它的时候,系统会自动删除
 
exit //退出mongo的连接

roles的可选项有:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root

修改mongodb.conf

去掉#auth=true 前的#。

重新启动mongod

重新连接 : ./mongo
报以下的错:
原因:需要用户名和密码

[root@localhost bin]# ./mongo
MongoDB shell version: 3.2.20-16-g4c2d1a88c1
connecting to: test
> show dbs;
2018-06-27T17:53:14.783+0800 E QUERY    [thread1] Error: listDatabases failed:{
	"ok" : 0,
	"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
	"code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:781:19
shellHelper@src/mongo/shell/utils.js:671:15
@(shellhelp2):1:1

> 

每次登陆前需要先:


> use test_yiwen
switched to db test_yiwen
> db.auth('test','1234')
1
> 
// 1 表示认证成功了,,,

可以添加数据了,,,,

> use test_yiwen
switched to db test_yiwen
> db.auth('test','1234')
1
> db.Hello.insert({name:'World'})
WriteResult({ "nInserted" : 1 })
> show collections;
Hello
system.indexes

//注释
db.Hello.insert({name:'World'}) //添加数据
WriteResult({ "nInserted" : 1 }) //表示成功

接下来就可以使用idea进行连接使用了,,,,因为我们创建角色的时候使用的是readWrite,所以登陆之后show dbs;等一些指令不能使用,可以创建一个role是userAdminAnyDatabase的用户。

2019.3.21 更改
1、64位系统

按照以上的配置,总是报错,后采用一下的启动方式:(不需要创建配置文件)
无验证启动:./mongod --dbpath=/usr/local/mongodb/db --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --port=27017 --fork
用户名密码:./mongod --dbpath=/usr/local/mongodb/db --logpath=/usr/local/mongodb/logs/mongodb.log --logappend --port=27017 --fork --auth
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值