با استفاده از دستور mysqldump پشتیبان گیری کنید و با استفاده از دستور mysql با پارامتر –default-character-set=utf8 نسخه backup گرفته شده را restore کنید.
شبه کد برای backup گرفتن:
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 کردن:
String[] restoreCmd = new String[]{"mysql ", "--user=" + dbUserName, "--password=" +
dbPassword + " --default-character-set=utf8 –comments" , "-e", "source " + source};
Process runtimeProcess;
try {
runtimeProcess = Runtime.getRuntime().exec(restoreCmd);
int processComplete = runtimeProcess.waitFor();
if (processComplete == 0) {
System.out.println("Restored successfully!");
} else {
System.out.println("Could not restore the backup!");
}
} catch (Exception ex) {
ex.printStackTrace();
}