Java实现mysql数据库备份
Runtime是一个与JVM运行时环境有关的类,这个类是Singleton的。
Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。
Runtime.exec()
public Process exec(String[] cmdarray) throws IOException
这个方法中cmdArray是一个执行的命令和参数的字符串数组,数组的第一个元素是要执行的命令往后依次都是命令的参数。
Runtime.getRuntime().exec()在不同环境下的使用方法:
//Windows XP, Windows 2000
Runtime.getRuntime().exec(new String[] {"cmd /c command"})
//Windows 98
Runtime.getRuntime().exec(new String[] {"command /c command"})
//Linux
Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", command"})
Java实现mysql数据库备份功能完整代码:
public class MysqlExport {
public static void main(String[] args) {
String username = "mysql_user";
String password = "mysql_pwd";
String server = "toughhou.gotoftp3.com";
String port = "3306";
String db = "houxiaolongr";
String exportPath = "/home/tough/workspace/MysqlUtility/src/mysql/export.sql";
//构建mysqldump命令"mysqldump -uroot -proot -h127.0.0.1 dbname > export.sql"
String exportCMD = "mysqldump " + "-u" + username + " -p" + password + " -h" + server + " " + db + " > " + exportPath;
Runtime runtime = Runtime.getRuntime();
try {
//-c告诉它读取随后的字符串,exportCMD是要运行的命令。
runtime.exec(new String[] {"/bin/sh","-c",exportCMD});
} catch (IOException e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
因为第一次用RUntime.getRuntime.exec()方法,不知道Windows/Linux平台下使用方法是不同的。直接用了runtime.exec("cmd /c" + exportCMD);报如下异常:
java.io.IOException: Cannot run program "cmd": error=13, Permission denied
因为,在Linux下,Runtime.getRuntime().exec("cmd /c" + exportCMD)执行的命令"cmd /c"找不到。
Java实现mysql数据库备份的更多相关文章
- Java实现MySQL数据库备份(二)
权声明:本文为博主原创文章,未经博主允许不得转载. 博客<Java实现MySQL数据库备份(一)>使用I/O流的方式实现了MySQL数据库的备份,这种方法比较繁杂,下面介绍另一种备份MyS ...
- Java达到MySQL数据库备份(两)
博客<Java实现MySQL数据库备份(一)>使用I/O流的方式实现了MySQL数据库的备份,这样的方法比較繁杂.以下介绍还有一种备份MySQL数据库的方法: import java.io ...
- Java实现MySQL数据库备份(一)
下班了,利用闲暇时间总结一下如何使用Java语言实现MySQL数据库备份: import java.io.BufferedReader; import java.io.File; import jav ...
- java 实现mysql数据库备份
package com.itenp.gen.action; import java.io.BufferedReader; import java.io.FileInputStream; import ...
- JSP 实现 之 调用java方法实现MySQL数据库备份和恢复
package cn.qm.db; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOEx ...
- Java连接mysql数据库攻略
一. 软件下载 Mysql 下载版本:4.1.11 http://dev.mysql.com/downloads/mysql/4.1.html JDBC驱动 下载版本:3.1.8 http://dev ...
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- TODO:MongoDB MySQL数据库备份
TODO:MongoDB MySQL数据库备份 1. MongoDB使用命令备份 mongodump进行整个数据库备份,主要用到的命令参数: -d 要备份的数据库 -o 输出的路径 ./mongodu ...
- Java实现MySQL数据库导入
距离上班还有一段时间.现在总结一下如何使用Java语言实现MySQL数据库导入: 首先新建名为test的数据库: 其次执行下面Java代码: import java.io.File; import j ...
随机推荐
- 快餐店运行模拟C++程序源码代写
某快餐店供应若干种快餐和饮料(5种以上),早晨6:00开始营业,晚上11:00打烊.前一天已经安排了若干工人上班,快餐店的用餐位是固定的,每种食物的成本和销售价格是确定的,每种食物的总量是确定的,储存 ...
- [课程相关]homework-01
我的github博客大概是一年前创建的.现在已经想不起来当时是怎么接触到github的了,大概是从某一个网站看到的吧.注册完帐号以后很长一段时间都没有真正的去使用github,主要原因就是网站是英文的 ...
- SQL_server 数据库备份信息查看
select distinct s.database_name, s.first_lsn,s.last_lsn,s.database_backup_lsn,s.backup_finish_date,s ...
- [改善Java代码]asList方法产生的List对象不可更改
上一个建议之处了asList方法在转换基本类型数组时候存在的问题,在看下asList方法返回的列表有何特殊的地方.看代码: import java.util.Arrays; import java.u ...
- 关于在Eclipse中构建patch开发环境
git仓库中不能添加空文件夹. 至于为什么git 仓库中不能添加空文件夹,我没有找到具体的原因. 在V2EX上有人说: 我猜是因为git的内部实现,即只对文件做快照决定的吧,另一方面空文件夹确实对源代 ...
- mysql 慢执行分析工具explain/desc
一.如何操作 explain + 增删改查语句; 二. 输出格式 possible_keys mysql在搜索表记录时可能使用哪个索引. key 实际使用的索引,如果没有索引被使用,则为null. ...
- eclipse导入安卓工程时出现 Invalid project description. overlaps the location of another project提示
eclipse导入工程时出现了如下问题: Invalid project description. /Users/yang/Documents/workspace/BarCodeTest overla ...
- java性能
一.关于性能的基本知识 1.性能的定义 在我们讨论怎样提高Java的性能之前,我们需要明白“性能“的真正含义.我们一般定义如下五个方面作为评判性能的标准. 1) 运算的性能----哪一个算法的执 ...
- 晒下自己App广告平台积分墙收入,顺便点评几个广告平台
这是我之前发在爱开发App源码论坛的文章.分享了我从2011年到现在移动广告方面的收入和一些心得. 产品类型:FC.街机模拟器类App游戏 广告平台:万普世纪 广告形式:积分墙,用户先试玩几次,再玩需 ...
- 强大的数据恢复软件--EasyRecovery专业版
EasyRecovery 是世界著名数据恢复公司 Ontrack 的技术杰作,它是一个威力非常强大的硬盘数据恢复工具.能够帮你恢复丢失的数据以及重建文件系统.EasyRecovery不会向你的原始驱动 ...