Node.js 如何使用exec函数处理mysql命令行密码提示

Node.js 如何使用exec函数处理mysql命令行密码提示,node.js,Node.js,我不知道id如何在exec函数中传递密码变量。 我尝试运行它,但没有出现提示 const {user,password,database} = require('./config.js'); const { exec } = require('child_process'); const comm = `mysql -u ${user} -p ${database} < ${QUERY_PATH} ` exec(comm) const{user,password,database}=r

我不知道id如何在exec函数中传递密码变量。 我尝试运行它,但没有出现提示

const {user,password,database}  = require('./config.js');
const { exec } = require('child_process');
const comm = `mysql -u ${user} -p ${database} < ${QUERY_PATH} `
exec(comm)
const{user,password,database}=require('./config.js');
const{exec}=require('child_process');
const comm=`mysql-u${user}-p${database}<${QUERY\u PATH}`
行政主任(通讯)

我想唯一缺少的部分是使用回调,正如中的节点所建议的那样。
替换:

exec(comm)

作者:

这样,您需要手动键入密码。如果您不想手动键入密码(不推荐使用,mySQL使用第二种方法警告安全问题),则代码为:

const comm = `mysql -u${user} -p${password} ${database} < ${QUERY_PATH}`

第三个正是我需要的。谢谢你好@Jgonzalez25。如果这个答案已经解决了你的问题,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。谢谢
const comm = `mysql -u${user} -p${password} ${database} < ${QUERY_PATH}`
exec(comm, (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.error(`stderr: ${stderr}`);
});