如何解决对使用dokku感到困惑
这是我第一次使用dokku部署服务器。 我有一个使用MySQL作为数据库的服务器上使用Nodejs的辅助项目,我想用dokku部署它,我去了文档,一切都很酷,但是如果你们可以,我不明白两件事,请回答我:)
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}`);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。