通過Java來備份與還原Mysql數據庫的代碼
import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date;public class BackupMysql { / 訪問MySQL數據庫服務器所在的url */ private String serverUrl; / 訪問MySQL數據庫的用戶名 / private String username; /** 訪問MySQL數據庫的密碼 / private String password;
public String getServerUrl() { return serverUrl; }
public void setServerUrl(String serverUrl) { this.serverUrl = serverUrl; }
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
public BackupMysql(String serverUrl,String username, String password) { super(); this.serverUrl=serverUrl; this.username = username; this.password = password; }
public String backup(String backupPath, String dbName) throws IOException {
String backupFile = backupPath+ dbName+ new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date()) + ".sql";
String mysql = "mysqldump "+"--host="+serverUrl+" --user=" + username + " --password="+ password + " --opt " + dbName + "> " + backupFile;
java.lang.Runtime.getRuntime().exec("cmd /c " + mysql);
System.out.println("備份成功!");
return backupFile;
}
public void restore(String restoreFile, String dbName) throws Exception {
String mysql = "mysql "+"-h"+serverUrl+" -u" + username + " -p"+ password + " " + dbName + " < " + restoreFile;
System.out.println(mysql);
java.lang.Runtime.getRuntime().exec("cmd /c " + mysql);
System.out.println("還原成功!"); }
/**
@param args */ public static void main(String[] args) {
String serverUrl="127.0.0.1";
String userName = "root";
String pwd = "root";
BackupMysql backup = new BackupMysql(serverUrl,userName, pwd);
try { backup.restore("d:/nationz2010-12-20-14-16-47.sql", "nationz"); } catch (Exception e) { e.printStackTrace(); } } }</pre>