安装版本: db version v4.2.6
MongoDB默认安装并没有开启用户名密码登录,这样太不安全。首先开启一个无需验证用户的MongoDB服务后,进入MongoDB的shell控制台创建用户:
创建用户后,关闭连接,进入正题:
安装路径: D:PROGRA~1\MongoDB\Server\4.2\bin\
配置文件中添加 authorization 项 ,配置文件地址如下,没有可创建 D:PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg
配置文件内容如下:
配置好之后注册服务:
启动服务:
net start MongoDB
遇到的问题:
Error1:
F CONTROL [main] Failed global initialization: BadValue: dbPath requires an absolute file path with Windows services
Error2:
Error parsing YAML config file: yaml-cpp: error at line 2
以上都是配置文件配置问题,注意文件中不要出现单引号,双引号之类的;
配置项每层缩进都是4个空格,不要用tab缩进
Error3:
控制台显示服务未注册
这个一般是注册服务的命令有引号错误或者路径错误,检查有没有少斜线。正常的注册完服务并启动时,会显示服务已开启。
新开窗口进入mongodb的shell控制台验证:
参考链接:
Mongodb学习(4)通过配置文件启动mongod
windows系统,MongoDB开启用户验证
解决“Error parsing YAML
权限认证已ok
使用以下命令将MongoDB安装成为Windows服务。笔者的MongoDB目录为D:\Program Files\mongodb切换到D:\Program Files\mongodb\bin>mongod --logpath "D:\Program Files\mongodb\data\logs.txt" --logappend --dbpath "D:\Program Files\mongodb\data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
输入以上命令。
Creating service MongoDB.
Service creation successful.
Service can be started from the command line via 'net start "MongoDB"'.
该命令行指定了日志文件:D:\Program Files\mongodb\data\logs.tx,日志是以追加的方式输出的;
数据文件目录:D:\Program Files\mongodb\data,并且参数--directoryperdb说明每个DB都会新建一个目录;
Windows服务的名称:MongoDB;
最后是安装参数:--install,与之相对的是--remove
启动MongoDB:net start MongoDB
停止MongoDB:net stop MongoDB
注意:遇到问题请查看日志文件
mongodb exception in initAndListen: 12596 old lock file, terminating解决方法
错误信息如下:
exception in initAndListen: 12596 old lock file, terminating
解决方法
1.删除data目录中的.lock文件
2.mongod.exe --repair
3.启动mongod就可以了
方法如下:创建数据库
use
tt
这样就创建了一个数据库,如果什么都不 *** 作离开的话,这个库就会被系统删除.所以还要执行下面的命令:
db.usr.insert({'name':'tompig'})
db.usr.insert({'name':'tompig1','id':1})
随便整了2个表,这个无所谓的,反正要导入表的话就删除掉这2个就可以了,目前只是想让数据库保持住.
然后使用命令查看是否有保存tt这个数据库:
show
dbs
3.配置用户
use
tt
db.addUser('mongodb','123456')
mongodb是用户名,123456是密码.
好了,这样一个数据库和对这个数据库配置用户就完成了.
mongodb常用命令:
1、Help查看命令提示
help
db.help()
db.yourColl.help()
db.youColl.find().help()
rs.help()
2、切换/创建数据库
use
yourDB
当创建一个集合(table)的时候会自动创建当前数据库
3、查询所有数据库
show
dbs
4、删除当前使用数据库
db.dropDatabase()
5、从指定主机上克隆数据库
db.cloneDatabase(“127.0.0.1”)
将指定机器上的数据库的数据克隆到当前数据库
6、从指定的机器上复制指定数据库数据到某个数据库
db.copyDatabase("mydb",
"temp",
"127.0.0.1")将本机的mydb的数据复制到temp数据库中
7、修复当前数据库
db.repairDatabase()
8、查看当前使用的数据库
db.getName()
db
db和getName方法是一样的效果,都可以查询当前使用的数据库
9、显示当前db状态
db.stats()
10、当前db版本
db.version()
11、查看当前db的链接机器地址
db.getMongo()
Collection聚集集合
1、创建一个聚集集合(table)
db.createCollection(“collName”,
{size:
20,
capped:
5,
max:
100})
2、得到指定名称的聚集集合(table)
db.getCollection("account")
3、得到当前db的所有聚集集合
db.getCollectionNames()
4、显示当前db所有聚集索引的状态
db.printCollectionStats()
用户相关
1、添加一个用户
db.addUser("name")
db.addUser("userName",
"pwd123",
true)
添加用户、设置密码、是否只读
2、数据库认证、安全模式
db.auth("userName",
"123123")
3、显示当前所有用户
show
users
4、删除用户
db.removeUser("userName")
其他
1、查询之前的错误信息
db.getPrevError()
2、清除错误记录
db.resetError()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)