工作积累--MongoDB遇到过的问题

1.下载MongoDB
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
2.解压缩
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
3.安装MongDB
cd mongodb-linux-x86_64-3.0.6
mkdir data --存放数据
mkdir logs --存放日志

4.没有配置文件时启动
./mongod --port 27017 --fork --dbpath=/mongodb-linux-x86_64-3.0.6/data/ --logpath=/mongodb-linux-x86_64-3.0.6/logs/mongodb.log --logappend
5.查看是否启动成功
ps -ef|grep mongo

netstat -lanp | grep “27017”
6.停止
ps -ef|grep mongo
kill 进程
7.进入数据库控制台
cd /bin
./mongo
8.创建数据库
use admin
db.createRole({
role:‘sysadmin’,roles:[],
privileges:[{
resource:{anyResource:true},
actions:[‘anyAction’]
}]
})
9.创建用户和授权
db.createUser({
user: “username”, pwd: “password”,
roles: [{
role: “userAdminAnyDatabase”, db: “admin” }]
})
//具有readWrite每一个数据库权限。但不包括应用到集群中的数据库
db.grantRolesToUser(“nems, [{role:“readWriteAnyDatabase”,db:“admin”}])
//提供了dbAdmin每一个数据库权限,但是不包括应用到集群中的数据库
db.grantRolesToUser(“nems”,
[{role:“dbAdminAnyDatabase”,db:“admin”}])
//像用户授予它的角色
db.grantRolesToUser(“nems”,[{role:“sysadmin”,db:“admin”}])
10.遇到过的问题
1):Web应用启动报错:
描述:如果出现用户名和密码都对的情况下,java连接还报认证失败,需要检查当前认证方式,mongo3.0以下版本只支持MONGODB-CR方式,无法改为SCRAM-SHA-1方式。
在这里插入图片描述
解决:
查看认证方式
值为3表示:MONGODB-CR
值为5表示:SCRAM-SHA-1
认证方式修改如下:
db.system.users.remove({})
db.system.version.remove({})
db.system.version.insert({”_id":“authSchema”,“currentVersion”:5})

11.mongo配置文件
cd mongodb-linux-x86_64-3.0.6
新建文件: mongodb.conf
添加内容:
dbpath=/mongodb-linux-x86_64-3.0.6/data/
logpath=/mongodb-linux-x86_64-3.0.6/logs/mongodb.log
pidfilepath=/mongodb-linux-x86_64-3.0.6/mongo.pid
fork=true
logappend=true
shardsvr=true
directoryperdb=true --这个是和集群相关的,如果没有弄集群就注释掉
auth=true
port= XXXX
bind_ip= 0.0.0.0
12.当连接不上客户端时,解决思路。(mongodbmanager)
①查看台账或者询问同事IP或端口对不对
②看端口有没有给开放
③本地ping IP是否通
④telnet 端口是否通
⑤检查mongo所在服务器的服务有没有开启(检查方法:ps -ef|grep mongod netstat -tunlp |grep 配置文件的端口号 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值