如何在Linux系统上用Java创建mysql转储?

如何在Linux系统上用Java创建mysql转储?,java,linux,dump,Java,Linux,Dump,我必须在我的应用程序中备份mysql数据库 我在Windows中运行该命令,效果很好。 这是命令: String executeCmd = mysqldumppath +" -u " + dbUserName + " -p" + dbPassword + " --add-drop-database -B " + dbName + " -r " + filePath; Runtime.getRuntime().exec(executeCmd); 在linux服务器上尝试此命令时,需要输入sudo

我必须在我的应用程序中备份mysql数据库

我在Windows中运行该命令,效果很好。 这是命令:

String executeCmd = mysqldumppath +" -u " + dbUserName + " -p" + dbPassword + " --add-drop-database -B " + dbName + " -r " + filePath;
Runtime.getRuntime().exec(executeCmd);
在linux服务器上尝试此命令时,需要输入sudo密码。 如何在命令行中传递密码


我读过很多解决方案,但都没有成功

root
(使用
sudo
)运行Java程序,或者通过
stdin
sudo
密码传递给
sudo
(非常不安全,实际上没有安全的方法来实现)。

因为您只有使用密码执行命令的权限。如果要执行命令
password less
,请编辑
/etc/sudoers
文件usevisudo,并在末尾加一行(如果运行glassfish服务器use
glassfish
user),例如:

您还可以将该行复制到文件中,并将其放入/etc/sudoers.d目录。
现在,再次尝试执行命令use sudo!祝你好运!:-)

您在Windows中从命令行运行它?您是否尝试以root用户身份执行Java程序?您是否从命令行运行Java代码?不是mySQL命令。我的意思是
javamyclass
。我正在使用部署了war文件的glassfish服务器。我应该用sudo命令启动glassfish吗?@Vítraftóbrega这些信息对你的问题很有用。
glassfish    ALL=(All)    NOPASSWD: mysqldumppath