通過Java來備份與還原Mysql數據庫的代碼

jopen 12年前發布 | 49K 次閱讀 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>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!