1、以命令的形式启动MongoDB
2、创建用户分配权限
2.1、打开新的cmd窗口进入到MongoDB的安装目录,bin文件下;执行如下命令
Mongo
如图
2.2、添加管理用户(mongoDB没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)以下命令创建了一个添加用户的账号:admin密码;123456
在cmd命令窗口中执行以下两个命令:
use admin
db.createUser( {user:"admin",pwd: "123456",roles: [ { role:"userAdminAnyDatabase", db: "admin" } ]})
如下图
注:添加完用户后可以使用show users命令查看已有用户
如下图
2.3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件)。
执行以下命令关闭mongo数据库服务
db.shutdownServer()
在第一个打开的cmd命令窗口中查看Mongo数据库服务关闭结果。如下图
如果成功关闭Mongo服务则执行以下命令,以权限方式再次开启MongoDB;
mongod--dbpath E:/mongodb/data --port 57147 --logpath E:/mongodb/log/log.log --bind_ip 127.0.0.1 –auth
参数说明:
--port 指定端口,默认是27017,此处使用57147
--dbpath 数据目录路径
--logpath 日志文件路径
--auth 开启安全验证
--bind_ip 指定监听的ip;允许访问IP地址
2.4、创建读写用户
在客户端命令执行的cmd窗口中执行以下六条命令:
mongo 127.0.0.1:27017
use license
use admin
db.auth("admin","123456")
db.getSiblingDB("license").runCommand({authSchemaUpgrade:1})
db.createUser({user:"license",pwd:"123456",roles:[{role:"readWrite",db:"license"}]})
成功标识
以上全部命令执行成功后,创建了一个数据库为license的实例,且登录账号为license,密码123456。
3、JAVA连接测试
Mongo mongo = new Mongo("127.0.0.1", "27017");
DB db = mongo.getDB("dbname");
boolean auth = db.authenticate("name","password".toCharArray());
验证成功则返回true 否则返回false
注:db验证只能一次,如果成功后就不能继续验证,否则会报重复验证异常
4、MongoDB自动备份
编写一个bat文件,文件内容如下:
@ECHO OFF
if not exist E:\mongodb\data\dbbak\%date:~0,4%\%date:~5,2%\%date:~8,2%\ md E:\mongodb\data\dbbak\%date:~0,4%\%date:~5,2%\%date:~8,2%\
cd E:\mongodb\bin
E:mongodump -h 127.0.0.1:57147 -d license -ulicense -p 123456 --authenticationDatabase admin -oE:\mongodb\data\dbbak\%date:~0,4%\%date:~5,2%\%date:~8,2%\
if exist E:\mongodb\data\dbbak\%date:~0,4%\%date:~5,2%\%date:~8,2%\md E:\mongodb\data\dbbak\%date:~0,4%\%date:~5,2%\%date:~8,2%\
将上面的bat文件添加到windows的计划任务内,即可完成自动备份