2010-11-26 4 views

ответ

16

mysqldump выполнить из кода Java

Пример:

Резервное копирование:

Runtime.getRuntime().exec("mysqldump -u USERNAME -pPASSWORD DBNAME > /path/to/location/backup.sql"); 

Восстановление:

Runtime.getRuntime().exec("mysql -u USERNAME -pPASSWORD < /path/to/location/backup.sql"); 
+0

ваша команда восстановления должна быть обновлена. Это «mysql» вместо «mysqldump». Между «-p» и паролем не должно быть пробелов. поэтому команда выглядит как `mysql -u USERNAME -pPASSWORD Ankit 2015-10-30 12:24:37

3
Runtime.getRuntime().exec("mysqldump -uroot -psome_password database_name > /whereever/dump_todays_date.sql"); 
+1

Просто отформатируйте свой ответ как код, пожалуйста :) – 2010-11-26 07:15:26

3
Backup: 
/******************************************************/ 
//Database Properties 
/******************************************************/ 
String dbName = “dbName”; 
String dbUser = “dbUser”; 
String dbPass = “dbPass”; 
/***********************************************************/ 
// Execute Shell Command 
/***********************************************************/ 
String executeCmd = “”; 
executeCmd = “mysqldump -u “+dbUser+” -p”+dbPass+” “+dbName+” -r backup.sql”; 
} 
Process runtimeProcess =Runtime.getRuntime().exec(executeCmd); 
int processComplete = runtimeProcess.waitFor(); 
if(processComplete == 0){ 
out.println(“Backup taken successfully”); 
} else { 
out.println(“Could not take mysql backup”); 
} 
Restore: 
/******************************************************/ 
//Database Properties 
/******************************************************/ 
String dbName = “dbName”; 
String dbUser = “dbUser”; 
String dbPass = “dbPass”; 
/***********************************************************/ 
// Execute Shell Command 
/***********************************************************/ 
String executeCmd = “”; 
executeCmd = new String[]{“/bin/sh”, “-c”, “mysql -u” + dbUser+ ” -p”+dbPass+” ” + dbName+ ” < backup.sql” }; 
} 
Process runtimeProcess =Runtime.getRuntime().exec(executeCmd); 
int processComplete = runtimeProcess.waitFor(); 
if(processComplete == 0){ 
out.println(“success”); 
} else { 
out.println(“restore failure”); 
} 
Смежные вопросы