|
|
|
@ -10,16 +10,19 @@ import java.util.regex.Pattern;
|
|
|
|
|
|
|
|
|
|
public class MySQLBackup {
|
|
|
|
|
|
|
|
|
|
public static String jdbcUrl;
|
|
|
|
|
public static String user;
|
|
|
|
|
public static String password;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 执行MySQL备份
|
|
|
|
|
*/
|
|
|
|
|
public String backup() {
|
|
|
|
|
// 获取配置
|
|
|
|
|
String host = getHostFromJdbcUrl(PropKit.get("read.jdbcUrl"));
|
|
|
|
|
String port = getPortFromJdbcUrl(PropKit.get("read.jdbcUrl"));
|
|
|
|
|
String database = getDatabaseFromJdbcUrl(PropKit.get("read.jdbcUrl"));
|
|
|
|
|
String username = PropKit.get("read.user");
|
|
|
|
|
String password = PropKit.get("read.password");
|
|
|
|
|
String host = getHostFromJdbcUrl(jdbcUrl);
|
|
|
|
|
String port = getPortFromJdbcUrl(jdbcUrl);
|
|
|
|
|
String database = getDatabaseFromJdbcUrl(jdbcUrl);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 生成备份文件名
|
|
|
|
|
String timestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
|
|
|
|
@ -38,7 +41,7 @@ public class MySQLBackup {
|
|
|
|
|
mysqldumpPath,
|
|
|
|
|
"-h" + host,
|
|
|
|
|
"-P" + port,
|
|
|
|
|
"-u" + username,
|
|
|
|
|
"-u" + user,
|
|
|
|
|
"--skip-ssl", // 禁用SSL
|
|
|
|
|
"--no-tablespaces", // 避免权限问题
|
|
|
|
|
"--default-character-set=utf8",
|
|
|
|
@ -136,6 +139,9 @@ public class MySQLBackup {
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
PropKit.use("application.properties");
|
|
|
|
|
jdbcUrl = PropKit.get("read.jdbcUrl");
|
|
|
|
|
user = PropKit.get("read.user");
|
|
|
|
|
password = PropKit.get("read.password");
|
|
|
|
|
try {
|
|
|
|
|
MySQLBackup backup = new MySQLBackup();
|
|
|
|
|
String backupFile = backup.backup();
|
|
|
|
|