我试图使用nodejs(快速)在服务器上转储(复制和粘贴)数据库。
操作系统:Ubuntu 18
代码:
var exec = require('child_process').exec;
create_dump = (user, pass, db_main_name, copy_name_withoutextension) =>
new Promise((resolve, reject) => {
exec(`mysqldump -u ${user} -p${pass} ${db_main_name} > /${copy_name_withoutextension}.sql`, (err, out) => {
if (err)reject(err)
resolve(out)
});
});
错误:命令失败: 'mysqldump'无法识别为内部或外部命令,可操作程序或批处理文件。
它( mysqldump )可以完美地与命令行配合使用,问题仅出在nodejs 'child_process'
谢谢。
答案 0 :(得分:0)
这是环境变量问题,原因是Windows和Linux之间存在差异。