MongoDB 服务启动
新下载的数据库
1. 配置ymal
文件格式config{端口号}.ymal ,配置几个副本集写几个文件,注意端口号
内容如下
systemLog:
destination: file
path: "./logs/mongodb.log"
logAppend: true
storage:
dbPath: "./data/db"
wiredTiger:
engineConfig:
cacheSizeGB: 6
collectionConfig:
blockCompressor: "zstd"
replication:
replSetName: "rs0"
net:
bindIp: "0.0.0.0"
port: 28017
setParameter:
transactionLifetimeLimitSeconds: 900
maxTransactionLockRequestTimeoutMillis: 3000
2. 启动服务 --start.bat
执行 start.bat 脚本
添加几个复制集 添加几个 ymal
@echo off
md data\db
md data\db1
md data\db2
md backup
path=%path%;.\bin\;
@start mongod.exe --config config28017.yaml
@start mongod.exe --config config28018.yaml
@start mongod.exe --config config28019.yaml
pause
3. 启动复制集 -- replset.bat
执行replset.bat
replset.js
注意 host 必须是对外开发的 ip
rs.initiate({ _id: "rs0",members: [{_id: 0,host: "192.168.3.183:28017"},{ _id: 1,host: "192.168.3.183:28018"},{ _id: 2,host: "192.168.3.183:28019"}]})
4. 创建数据库和用户名 -- createdb.bat
执行 createdb.bat
createdb.js
url 为复制集 url
var url = "mongodb://192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/?replicaSet=rs0";
var db = connect(url);
db.getSiblingDB("cobot").runCommand( {
createUser: "cobot",
pwd: "serc1727",
roles: [
{ role: "readWrite", db: "cobot" }
]
});
5. 从旧的复制集导出数据并导入新复制集 --backup.bat
- 先执行backup.bat
--host 旧复制集的 ip --port 旧复制集的端口 --db 要导出的数据库 --out 导出文件位置
@echo off
path=%path%;.\bin\;
mongodump.exe --host 192.168.1.193 --port 28017 --db cobot --out ./data\backup
pause
- 执行完成后执行restore.bat
--host 本地服务 ip:port --db cobot --dir 上一步导出文件位置
@echo off
path=%path%;.\bin\;
mongorestore.exe --host 127.0.0.1:28017 --db cobot --dir ./data\backup\cobot
pause
6. 删除旧数据
执行removeCol.bat
remove.js
var url = "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0";
var db = connect(url);
var collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++){
var collName = collections[i];
var reatain = ["systemLogMongo","excludeFile","fileSuffix","userMongo","userRoleMongo","menuMongo","codeRule","codeRuleClass","codeRulePackage","commonConfig","commonDict","compileConfig","compilerConfig","configFather","configLibrary","deptMongo","detector","expireData","globalLogEntity","languageConfigC","languageConfigEntity","loginLogMongo","roleMenuMongo","roleMongo","roleMongo","userRoleMong"];
var col = db.getCollection(collName);
var index = reatain.indexOf(collName);
if (index <0 ){
print(' remove collectiion start: ' + collName);
var col = db.getCollection(collName);
col.remove({});
print('remove collectiion end : ' + collName);
}
}
如果是旧的数据库需要导出必要数据
重复 1 、 2 、3 步骤
执行export.bat
@echo off
path=%path%;.\bin\;
echo remove rule start
mongo.exe --nodb removeRule.js
echo remove rule end
echo export rule start
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=codeRule --out="./backup/codeRule.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=codeRuleClass --out="./backup/codeRuleClass.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=codeRulePackage --out="./backup/codeRulePackage.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=systemLogMongo --out="./backup/systemLogMongo.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=excludeFile --out="./backup/excludeFile.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=fileSuffix --out="./backup/fileSuffix.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=userMongo --out="./backup/userMongo.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=userRoleMongo --out="./backup/userRoleMongo.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=menuMongo --out="./backup/menuMongo.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=commonConfig --out="./backup/commonConfig.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=commonDict --out="./backup/commonDict.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=compileConfig --out="./backup/compileConfig.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=configFather --out="./backup/configFather.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=configLibrary --out="./backup/configLibrary.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=deptMongo --out="./backup/deptMongo.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=detector --out="./backup/detector.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=expireData --out="./backup/expireData.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=globalLogEntity --out="./backup/globalLogEntity.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=languageConfigC --out="./backup/languageConfigC.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=languageConfigEntity --out="./backup/languageConfigEntity.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=loginLogMongo --out="./backup/loginLogMongo.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=roleMenuMongo --out="./backup/roleMenuMongo.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=roleMongo --out="./backup/roleMongo.json"
mongoexport --uri "mongodb://cobot:serc1727@192.168.1.193:28019/cobot" --collection=userRoleMong --out="./backup/userRoleMong.json"
echo export rule end
echo import rule start
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=codeRule --file=./backup/codeRule.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=codeRuleClass --file=./backup/codeRuleClass.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=codeRulePackage --file=./backup/codeRulePackage.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=systemLogMongo --file=./backup/systemLogMongo.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=excludeFile --file=./backup/excludeFile.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=fileSuffix --file=./backup/fileSuffix.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=userMongo --file=./backup/userMongo.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=userRoleMongo --file=./backup/userRoleMongo.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=menuMongo --file=./backup/menuMongo.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=commonConfig --file=./backup/commonConfig.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=commonDict --file=./backup/commonDict.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=compilerConfig --file=./backup/compilerConfig.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=configFather --file=./backup/configFather.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=configLibrary --file=./backup/configLibrary.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=deptMongo --file=./backup/deptMongo.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=detector --file=./backup/detector.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=expireData --file=./backup/expireData.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=globalLogEntity --file=./backup/globalLogEntity.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=languageConfigC --file=./backup/languageConfigC.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=languageConfigEntity --file=./backup/languageConfigEntity.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=loginLogMongo --file=./backup/loginLogMongo.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=roleMenuMongo --file=./backup/roleMenuMongo.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=roleMongo --file=./backup/roleMongo.json
mongoimport --uri "mongodb://cobot:serc1727@192.168.3.183:28017,192.168.3.183:28018,192.168.3.183:28019/cobot?replicaSet=rs0" --collection=userRoleMong --file=./backup/userRoleMong.json
echo import rule start
pause
