Vítor Nóbrega
Vítor Nóbrega

Reputation: 1213

How to create mysql dump with Java on Linux system?

i have to make backups of mysql database in my application.

I run the command in Windows and works nice. This is the command:

String executeCmd = mysqldumppath +" -u " + dbUserName + " -p" + dbPassword + " --add-drop-database -B " + dbName + " -r " + filePath;
Runtime.getRuntime().exec(executeCmd);

When i try this command on my linux server, i need to put a sudo password. How i pass password in the command line?

I had read many solutions but no success.

Upvotes: 1

Views: 644

Answers (2)

Shawyeok
Shawyeok

Reputation: 1238

Why are you have to enter password when execute the mysqldump command use the glassfish user?

Because you just have the privilege that execute the command with a password. If you want to execute commands password-less, edit the /etc/sudoers file use visudo, put a line in the end(if you run the glassfish server use glassfish user), eg:

glassfish    ALL=(All)    NOPASSWD: mysqldumppath

You can also copy the line into a file and put it to the /etc/sudoers.d directory. Now, try execute the command use sudo again! Good luck! :-)

Upvotes: 0

Piper McCorkle
Piper McCorkle

Reputation: 1084

Either run your Java program as root (with sudo) or pass the sudo password via stdin to sudo (very insecure, practically no secure way to implement this).

Upvotes: 2

Related Questions