mongod.exe --logpath E:MongoDBlogmongodb.log --logappend --dbpath E:MongoDBdata --directoryperdb --serviceName MongoDB --install
1、下载MongoDB
win32/mongodb-win32-x86_64-2008plus-ssl-v4.0-latest-signed.msi
需要下载个客户端(类似于:Navicat),robo 3T
mongodb-win32-x86_64-2012plus-4.2.6-signed.msi 一路下一步,将 mogodb 设置成服务,注意数据目录和日志目录,mongod compass那个玩意不要装
robo3t-1.3.1-windows-x86_64-7419c406.exe. 一路下一步
2、mongodb 的启动和配置
启动服务。输入命令:”mongod --dbpath E:\MongoDBdata
注:--dbpath是指定数据库存放目录,要注意dbpath前有两个“-”
在浏览器中输入http://localhost:27017/进行测试
上述启动mongodb的方法操作不方便,每次启动否需要输入命令,因此我们需要建立一个永久性的服务,即将mongo加入到windows本地服务中。
mongod.exe --logpath E:MongoDBlogmongodb.log --logappend --dbpath E:MongoDBdata --directoryperdb --serviceName MongoDB --install
然后到服务里手动打开
或者命令启动
net start MongoDB
C:Program FilesMongoDBServer4.2inmongod.exe" --config "
C:Program FilesMongoDBServer4.2inmongod.cfg" --service
mongod.exe --config 配置文件
在mongdb的安装路径下bin路径有:mongod.exe(服务端) 和 mongod.cfg(配置文件) mongo.exe(客户端)
show databases; # 可以查看所有的数据库
一般我们喜欢用图形化客户端连接:robo3t
create---》输入地址,端口号--》连接
启动服务:打开命令行输入命令
配置文件
storage:
dbPath: C:Program FilesMongoDBServer4.2data
journal:
enabled: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: C:Program FilesMongoDBServer4.2logmongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
# 2 可以使用客户端连接
./mongo --host 10.0.0.5 --port 27017
# 3 可以用图形化界面的客户端连接
3、添加环境变量,添加启动服务
每次启动服务都需要输入以上命令,为了方便,可以将启动数据库写成window服务的方式。
>>>mongod --logpath "D:软件安装setMongoDBlogMongoDB.log" --logappend --dbpath "D:软件安装setMongoDBdatadb" --directoryperdb --serviceName MongoDB --install
这样只需要在命令行输入net start MongoDB 就可以启动服务,
如果报 100 错误:
主要是因为MongoDB服务没有正常的关闭,造成的启动困难。
解决办法
在MongoDB安装路径下data>>db文件夹(有的直接在data下)有mongod.lock和storage.bson 两个文件,一般删除第一个就行,如果不行就删除第二个
如果,在“服务”里,也找不到MongoDB?
改为以管理员身份启动cmd后 ,输入命令:
>>>sc create mongodb binPath= "D:软件安装setMongoDBinmongod.exe --service --dbpath D:软件安装setMongoDBdatadb --logpath=D:软件安装setMongoDBlogMongoDB.log --logappend --directoryperdb"
也可以在服务里启动,如果报1053错误
输入指令删除MongoDB服务器
sc delete MongoDB
mongod --dbpath=E:MongoDBdata --logpath=E:MongoDBlogMongoDB.log --install --serviceName "MongoDB"
删除服务指令: mongod.exe -–remove -–serviceName "MongoDB"
停掉mongod服务:net stop mongodb
注意要用管理员方式启动命令行
这样在服务里面就有MongoDB的服务了
最后发现数据库服务启动不了,报错:“服务没有响应或控制功能”,尝试过很多其他的方法都无解
最后执行 sc delete mongodb 强制删除mongodb服务
然后用sc create 的命令再次创建服务 就能启动了
4、账号管理
1、创建用户以及权限控制:
1 跟mysql有点区别:mongodb的用户是建在数据库下的,但是可以对其他库有权限
2 操作步骤(全局有一个db,在哪个库下,db就是谁)
> db.createUser(
... {
... user:"admin",
... pwd:"123456",
... roles:[{role:"userAdminAnyDatabase",db:"admin"}]
... }
... )
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
3 查看用户
db.getUser("admin")