这是我第一次使用dokku部署服务器。 我有一个使用MySQL作为数据库的服务器上使用Nodejs的辅助项目,我想用dokku部署它,我去了文档,一切都很酷,但是如果你们可以,我不明白两件事,请回答我:)< / p>
Q-1-第一次部署服务器时,我想拥有一个包含数据的exisitng数据库,这导致即时通讯打算更改我当前的托管服务提供商,并且我已经在数据库中有了数据,
Q-1-在当前的生产服务器中,我建立了一个导出数据库并将其上传到cloudinary的功能,我使用了简单的mysqldump命令,,但是现在我打算使用dokku你们如何认为我可以做到,如果您想看看,这就是功能
function backupDB() {
try {
var stream = cloudinary.uploader.upload_stream(
{
folder: "db_backup",
resource_type: "raw",
use_filename: true,
format: "sql",
timestamp: Date.now(),
},
function (error, result) {
if (error) logger.error(`upload to cloudinary error: ${error}`);
}
);
// this just the mysqldump params, dont bother reading it
let mysqlDumpData = [
"-h",
`${
process.env.NODE_ENV == "production"
? process.env.MYSQL_HOST
: "localhost"
}`,
"-u",
`${
process.env.NODE_ENV == "production" ? process.env.MYSQL_USER : "root"
}`,
];
if (process.env.NODE_ENV == "production") {
mysqlDumpData.push(
`-p${
process.env.NODE_ENV == "production" ? process.env.MYSQL_PASSWORD : ""
}`
);
mysqlDumpData.push(
`${
process.env.NODE_ENV == "production" ? process.env.MYSQL_DB : "DBNAME"
}`
);
} else {
mysqlDumpData.push(
`${
process.env.NODE_ENV == "production" ? process.env.MYSQL_DB : "DBNAME"
}`
);
}
// console.log(mysqlDumpData);
var mysqldump = spawn("mysqldump", mysqlDumpData);
logger.info("Running Database Backup...");
mysqldump.stdout
.pipe(stream)
.on("finish", function () {
logger.info(`Database is backed up successfully !`);
})
.on("error", function (err) {
console.log(err);
});
} catch (err) {
logger.error(`DB BACKUP ERROR: ${err}`);
}
}