mongodb——Windows生产环境安装以及遇到的问题解决方案
该文章主要内容
说明:该安装方法精简亲测可用
该安装方法精简亲测可用,因为装mongodb时碰到问题找方法因为资料不是很齐全,百度很痛苦,希望能用这一版本安装解决入门的安装问题,减轻同行的痛苦,降低学习成本.
安装中可能会遇到各种问题可参考我之前的另外一篇文章,但是具体安装方法还是以该文为准
mongodb——Windows生产环境安装遇到的问题解决方案
1.安装包相关文件下载
1.1 mongodb相关文件下载地址:
包括mongodb的exe安装文件以及mongodb启动配置文件
链接: https://pan.baidu.com/s/1QVdaW1cRjh-Wk5CXUtrKxQ 提取码: h1pv
2.mongodb.exe安装包安装以及配置ip地址
2.1 双击mongodb-win32-x86_64-v3.4-latest-signed安装
安装地址选择D:\software\mongodb\bin,该地址可以自行创建,后续的conf配置需要用到安装目录地址
2.2 安装的mongodb目录中手动创建三个空文件夹
mongodb\data\db
mongodb\data\log
mongodb\config
在mongodb\data\log下面创建一个空的mongodb.log
将下载的mongodb.conf移动至config文件夹下
2.2 修改conf配置文件ip地址为当前安装mongodb机器IP地址
参考文章:
Windows 10 安装 Mongodb
3.使用命令行启动mongodb
3.1 以管理员身份运行cmd命令
3.2 切换到D盘mongodb的bin目录
cd /d D:/software/mongodb/bin
3.2 使用命令启动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
如果以前安装和配置过MongoDB,但卸载了MongoDB,可是MongoDB服务还未删除,管理员身份执行命令进行删除服务:
SC DELETE MongoDB
停止服务:
net start mongo
net start MongoDB报错:发生服务特定错误: 100.
直接进入db文件夹,先删除 mongod.lock 文件,然后重新启动服务即可;
还不行,继续删 storage.bson文件即可
4.MongoDB 权限控制(用户密码)
此操作【一定】要在【命令行窗口】里使用管理员身份运行cmd命令开进行创建用户!!!
4.1 登陆mongodb
D:\software\mongodb\bin>mongo
MongoDB shell version v3.4.24-1-g69fa4377f7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.24-1-g69fa4377f7
use admin
switched to db admin
db.createUser(
… {
… user: “root”,
… pwd: “admin”,
… customData:{description:“管理员root”},
… roles: [ {role:“root”, db:“admin”} ]
… }
… )
Successfully added user: {
“user” : “root”,
“customData” : {
“description” : “管理员root”
},
“roles” : [
{
“role” : “root”,
“db” : “admin”
}
]
}
db.auth(‘root’,‘admin’)
1
use test
switched to db test
db.createUser({
… user:‘test’,
… pwd:‘test1234’,
… customData:{description:“数据库账户描述”},
… roles:[{
… ‘role’:‘readWrite’,
… ‘db’:‘test’
… }]
… })
Successfully added user: {
“user” : “test”,
“customData” : {
“description” : “数据库账户描述”
},
“roles” : [
{
“role” : “readWrite”,
“db” : “test”
}
]
}
db.auth(‘test’,‘test1234’)
1
如果此时创建用户错误,需要删除可以执行以下命令
db.dropUser(‘test’)
到此admin库root账号和test库test账号已经创建完成,使用nosql可视化工具即可登录,
解释一下为什么这个版本的安装策略可以不需要先将conf中的auth=true去掉,因为发现mongo中对admin数据库创建root账号是有权限的,所以刚刚登陆之后就需要创建root账号,
进行登陆之后(db.auth(‘root’,‘admin’))验证权限存在则可以直接创建test库账号,减去各种权限登陆,配置文件切换修改
5.nosql连接工具连接:
6.spring工程连接串配置
6.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