mongodb——Windows生产环境安装遇到的问题解决方案

1.windows下 mongodb 3.2加fork选项启动报unrecognised option ‘fork’

windows下启动mongodb为后台进程加fork选项报错如下:

D:\Program Files\MongoDB\Server\3.2\bin>mongod --config "D:\Program Files\MongoD

B\Server\mongodb.conf"
Error parsing INI config file: unrecognised option ‘fork’
try ‘mongod --help’ for more information
原因:

–fork不支持windows 解决可以通过添加mongodb为windows服务来解决
如果是windowns安装mongdb,需要将conf中的fork配置去掉
参考:
windows下 mongodb 3.2加fork选项启动报unrecognised option ‘fork’

2. net start MongoDB报错:服务名无效

cmd到mongodb的bin目录,启动MongoDB, 输入net start MongoDB报错:服务名无效。
出现该问题是命令行安装时没有将命名mongdb服务,或者 net start MongoDB最后的MongoDB和安装的服务名对不上,强烈建议使用以下方式命令行安装

D:\software\mongodb\bin>mongod.exe --config="D:\software\mongodb\config\mongodb.conf" --install --serviceName "mongo" --logappend --directoryperdb
D:\software\mongodb\bin>net start mongo

3.【已解决】net start MongoDB报错:发生服务特定错误: 100.

直接进入db文件夹,先删除 mongod.lock 文件,然后重新启动服务即可;
还不行,继续删 storage.bson文件即可

4.MongoDB 权限控制(用户密码)

此操作【一定】要在【命令行窗口】里使用管理员身份运行cmd命令开进行创建用户!!!

4.1 登陆mongodb

服务启动后,再多开一个cmd窗口B,cd 进入安装路径,比如cd D:\software\mongodb\bin,输入mongo即可连接上了mongodb数据库
有的同学执行mongo命令登陆后会报这个错误:

Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js

解决办法:
一般是config的路径指定有问题,重新使用以下命令指定config路径

D:\software\mongodb\bin>mongod --dbpath=/software/mongodb/data/db --auth

在这里插入图片描述
参考文章:
Error: couldn’t connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js
此时mongodb服务是已经跑起来了,

重新在开一个新的管理员身份运行cmd窗口,到安装bin目录输入mongo即可连接上了
在这里插入图片描述

4.6 创建test数据库test用户可能出现的问题

开启权限验证后登陆报错没有权限,一个对应的用户只能再对应的数据库下登陆,并做对应的命令操作,除非是root权限的账户,如果使用命令报错"not authorized on admin to execute command ",则表示当前登陆用户不具备相应权限;
在这里插入图片描述

5.spring工程连接串配置

5.1 spring.data.mongodb.uri配置格式mongodb://userName:password@ip/DB?authSource=DB,

spring.data.mongodb.uri=mongodb://test:test1234@10.10.XX.XX/test?authSource=test
spring.data.mongodb.username=test
spring.data.mongodb.password=test1234

在这里插入图片描述

5.2 spring工程连接串配置可能出现的问题

注意:
后面不加authSource=test在启动时不会报错,连接时会如下报错,和nosql一样在连接时需要执行该账号的数据库名称才能连接上

An unhandled exception occurred while processing the request.
MongoCommandException: Command saslStart failed: Authentication failed..
MongoDB.Driver.Core.WireProtocol.CommandUsingQueryMessageWireProtocol<TCommandResult>.ProcessReply(ConnectionId connectionId, ReplyMessage<RawBsonDocument> reply)

MongoAuthenticationException: Unable to authenticate using sasl protocol mechanism SCRAM-SHA-1.
MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(CancellationToken cancellationToken)

mongodb的日志中也会出现类似的没有权限的日志:
在这里插入图片描述

在这里插入图片描述

7.扩展:

7.1 查看mongodb当前配置的命令

删除用户:

db.auth('test','1234')

查看mongodb当前配置的命令

use admin

db.runCommand( { getParameter : '*' } )

7.2 windows环境下启动mongodb服务

mongod --dbpath D:\software\mongodb\data

windows环境下启动mongodb服务

7.3 MongoDB 创建用户 修改密码 修改权限 删除用户

MongoDB 创建用户 修改密码 修改权限 删除用户

7.4 添加用户时各个角色对应权限

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

7.5 启动和关闭mongodb命令如下:

注意:这一个启动命令和7.2的应该没有区别,但是7.2的验证可行,7.4的未验证
service mongodb start
service mongodb stop
默认设置MongoDB是随Ubuntu启动自动启动的。
输入以下命令查看是否启动成功:
pgrep mongo -l #注意:-l是英文字母l,不是阿拉伯数字1

卸载MongoDB
sudo apt-get --purge remove mongodb mongodb-clients mongodb-server

三、使用MongoDB

常用操作命令:
数据库相关

show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表table)
show users:显示所有用户
use yourDB:切换当前数据库至yourDB
db.help() :显示数据库操作命令
db.yourCollection.help() :显示集合操作命令,yourCollection是集合名

其他操作数据库内容可参考:
NoSQL数据库一MongoDB基本使用

mongodb各种版本下载地址

参考文章:
Windows 10 安装 Mongodb
MongoDB authentication failed
windows环境下启动mongodb服务
win10命令行切换文件目录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值