如何用Java实现MySQL数据库的备份和恢复

如何用Java实现MySQL数据库的备份和恢复,第1张

注:要将mysql的bin目录加入到环境变量Path中

将MySql中的数据导出到文件中 备份

import java.io.*

import java.lang.*

public class BeiFen {

public static void main(String[] args) {

// 数据库导出

String user = "root"// 数据库帐号

String password = "root"// 登陆密码

String database = "test"// 需要备份的数据库名

String filepath = "e:\\test.sql"// 备份的路径地址

String stmt1 = "mysqldump " + database + " -u " + user + " -p"

+ password + " --result-file=" + filepath

/*

* String mysql="mysqldump test -u root -proot

* --result-file=d:\\test.sql"

*/

try {

Runtime.getRuntime().exec(stmt1)

System.out.println("数据已导出到文件" + filepath + "中")

}

catch (IOException e) {

e.printStackTrace()

}

}

}

将数据从磁盘上的文本文件还原到MySql中的数据库

import java.io.*

import java.lang.*

/*

* 还原MySql数据库

* */

public class Recover {

public static void main(String[] args) {

String filepath = "d:\\test.sql"// 备份的路径地址

//新建数据库test

String stmt1 = "mysqladmin -u root -proot create test"

String stmt2 = "mysql -u root -proot test <" + filepath

String[] cmd = { "cmd", "/c", stmt2 }

try {

Runtime.getRuntime().exec(stmt1)

Runtime.getRuntime().exec(cmd)

System.out.println("数据已从 " + filepath + " 导入到数据库中")

} catch (IOException e) {

e.printStackTrace()

}

}

}

假设你要备份的数据条件是时间,只备份当天的数据。备份区:数据库。

匹配当天的数据读出来。

在将数据添加到备份区的数据库。

备份区表的创建问题:1.你可以事先手动建好。

2.也可以通过程序自动建表有两步;

a).判断当前备份数据,在备份区是否有对应的表。(有直接添加)

b).如果没有,拷贝当前备份数据的表结构,在备份区生成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5919127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存