由于前段时间服务器被黑,数据库被删除,连连出现了好几次,所以考虑备份情况,备份到底是用操作系统的执行计划呢还是用咱们的java程序呢,最后考虑的备份的文件方便管理,所以用java实现,并且将备份的记录和文件信息保存到表中
所以提供了一下程序,
String bakfile = "c:/bak.sql";
String path1 ="C:\\mysql\\mysqldump.exe";
String cmdStr = "cmd /c "+path1+" -h127.0.0.1 -uroot -proot fire > "+bakfile;
try {
Process process = Runtime.getRuntime().exec(cmdStr);
int processComplete = process.waitFor();
if (processComplete == 0) {
log.info("备份成功。");
} else {
log.error("备份数据库失败");
throw new RuntimeException();
}
}
注意: String path1 ="C:\\mysql\\mysqldump.exe";
这里的mysqldump这个文件为了解决由于mysql安装默认的路径有空格问题,所以我们将在c盘重新建立了一个msyql文件夹,将本身安装的mysql的 bin目录下的mysqldump.exe 这个文件复制到这个 c盘mysql文件夹下。这样就避免了路径空格不认识问题。
-h127.0.0.1 -h后边为 ip地址; -uroot -u后边为root为用户名 -proot -p后边为数据库密码 fire fire为需要备份的数据库。
注意大家不要吧生成的文件放到c盘根目录下,否则的话不会生成文件