Mongodb基础操作、自动备份和还原
准备条件:已下载绿色版MongoDB服务软件,本人以3.2的版本操作。
1、 基础操作
1-在系统变量path中加上 mongodb的bin路径 ;D:\dgm\MongoDB\Server\3.2\bin; 2-新建文件夹路径 mongodb数据库存储路径 dbpath--- D:\dgm\AutoBack\mongodbData\db mongodb日志存储路径 logpath--- D:\dgm\AutoBack\mongodbData\log\MongoDB.log 3-1新建未授权的bat启动文件:startMongoDbNoAuth.bat文件(对应的dbpath,logpath路径), 文件内容: mongod --dbpath F:\developSoftWare\MongoDBData\db --logpath F:\developSoftWare\MongoDBData\log\MongoDb.log 3-2新建授权的bat启动文件:startMongoDb.bat文件(对应的dbpath,logpath路径),文件内容: mongod --dbpath F:\developSoftWare\MongoDBData\db --logpath F:\developSoftWare\MongoDBData\log\MongoDb.log --auth 4-启动未授权的服务startMongoDbNoAuth.bat 5-1:启动服务后,新建startMongoDbClient.bat,文件内容: mongo.exe --port=27017 --host=localhost 5-启动客户端startMongoDbClient后,修改账号密码 db.system.version.find(); use admin db.createUser( { user: "tlb", pwd: "tlb", roles: [ { role: "userAdminAnyDatabase", db: "admin" },{ role : "root", db : "admin" } ] } ) db.system.users.find();
db.createUser( { user: "tlb", pwd: "tlb", roles: [ { role: "readWrite", db: "dgm" } ] } ) db.auth('tlb','tlb') 6-启动授权的服务startMongoDb.bat 7-启动服务后,启动客户端startMongoDbClient,用账号密码连接数据库
参考命令网址: http://www.jianshu.com/p/5844fdfa9511
|
2、 自动备份脚本
REM 参数配置(参数前后不能有空格)在path中添加mongodb的bin路径
REM 设置dbhost为主机名或IP地址 SET dbhost=127.0.0.1
REM 设置dbport为端口 SET dbport=27017
REM 设置登陆mysql数据库的用户名。如果用户名中有"号,请用""代替。 SET dbuser=tlb
REM 设置登陆mysql的密码。如果密码中有"号,请用""代替。 SET dbpwd=tlb
REM 设置backupPath为备份文件存放的路径。注意:文件夹名存在空格不需要引号括起来。警告:此文件夹应为专用目录,最好独立使用,避免删除历史备份时误删数据。 SET backupPath=D:/xmsa/DataBackup/Mongodbbackup/Mongodbback
REM 设置%myDate%为当前日期(2013-01-02)。因为日期后可能跟一个空格和星期几,并且日期中可能是”/"分割,所以要去除掉星期几和斜线。 FOR /F "tokens=1,2* delims= " %%i IN ('ECHO %date:/=-%') DO SET "myDate=%%i" REM 设置%MyTime%为当前时间。格式:20.56.30.99 SET myTime=%TIME::=.% SET myTime=%myTime: =0%
SET dbbase=xmsa_manage mongodump --host="%dbhost%" --port="%dbport%" -u"%dbuser%" -p"%dbpwd%" --db=%dbbase% -o %backupPath%%myDate%_%MyTime%
|
3、 还原脚本
REM 参数配置(参数前后不能有空格)在path中添加mongodb的bin路径
REM 设置dbhost为主机名或IP地址 SET dbhost=localhost
REM 设置dbport为端口 SET dbport=27017
REM 设置登陆mysql数据库的用户名。如果用户名中有"号,请用""代替。 SET dbuser=tlb
REM 设置登陆mysql的密码。如果密码中有"号,请用""代替。 SET dbpwd=tlb
REM 设置backupPath为备份文件存放的路径。注意:文件夹名存在空格不需要引号括起来。警告:此文件夹应为专用目录,最好独立使用,避免删除历史备份时误删数据。 SET directoryperdbPath=F:/developSoftWare/Mongodbbackup/Mongodbback/2017-11-30_10.06.09.23/jf
SET dbbase=jf REM mongorestore --host="%dbhost%" --port="%dbport%" -u"%dbuser%" -p"%dbpwd%" -d=%dbbase% --directoryperdb %directoryperdbPath%
REM mongorestore --host="%dbhost%" --port="%dbport%" -u="%dbuser%" -p="%dbpwd%" -d=%dbbase% --dir=%directoryperdbPath%
mongorestore -h 127.0.0.1:27017 -u tlb -p tlb -djf F:/developSoftWare/Mongodbbackup/Mongodbback/2017-11-30_10.06.09.23/jf |