/**.
* 将数据库数据备份到文件中
*/
public void backUp(){
String back = "";
String name = getRequest().getParameter("name");
Date date = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
String time = name+"_"+sf.format(date).toString();
try {
Runtime rt = Runtime.getRuntime();
String user = "root"; // 数据库帐号
String password = "root"; // 登陆密码
String database = "produce"; // 需要备份的数据库名
String filepath = "d:\\MySQLBase\\"+time+".sql"; // 备份的路径地址
String stmt1 = "mysqldump " + database + " -R -h 192.168.0.133 " + " -u "
+ user + " -p" + password
+ " --default-character-set=utf8 --triggers -R --hex-blob -x --result-file=" + filepath;
System.out.println("-------:"+stmt1);
// 调用 mysql 的 cmd:
Process child = rt.exec(stmt1);// 设置导出编码为utf8。这里必须是utf8
System.out.println("亲,备份成功了哦!");
back = "1";
} catch (Exception e) {
back = "2";
e.printStackTrace();
}
CommonMethod commonMethod = new CommonMethod();
commonMethod.responseAjax(back, null);
}
/**.
* 将备份文件中的数据还原到数据库
*/
public void recove(){
String back = "";
String file = getRequest().getParameter("file");
file = file.substring(file.lastIndexOf("\\")+1,file.length());
try {
String fPath = "e:/bin/bf.sql";
Runtime rt = Runtime.getRuntime();
String user = "root"; // 数据库帐号
String password = "root"; // 登陆密码
String database = "produce"; // 需要备份的数据库名
String sour = "localhost";
// String filepath = "d:\\MySQLBase\\bf.sql"; // 备份的路径地址
String filepath = "d:\\MySQLBase\\"+file; // 备份的路径地址
// 调用 mysql 的 cmd:
// Process child = rt.exec("mysql -u "+user+" -p "+password+" "+database );
String st = "mysql -h "+sour+" -u "+user+" -p"+password+" -f "+database;
Process child =
rt.exec(st);
System.out.println(st);
OutputStream out = child.getOutputStream();//控制台的输入信息作为输出流
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(filepath), "utf8"));
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();
OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
writer.write(outStr);
// 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
// 别忘记关闭输入输出流
out.close();
br.close();
writer.close();
System.out.println("数据已经恢复了!");
back = "1";
} catch (Exception e) {
back = "2";
e.printStackTrace();
}
CommonMethod commonMethod = new CommonMethod();
commonMethod.responseAjax(back, null);
}
分享到:
相关推荐
SqlServer实验四:事务与数据库备份.doc SqlServer实验四:事务与数据库备份.doc SqlServer实验四:事务与数据库备份.doc SqlServer实验四:事务与数据库备份.doc SqlServer实验四:事务与数据库备份.doc SqlServer...
sql数据库备份sql数据库备份
DB2数据库备份还原.SQL 命令 介绍 详细操作说明。
易语言sql数据库备份恢复.rar 易语言sql数据库备份恢复.rar 易语言sql数据库备份恢复.rar 易语言sql数据库备份恢复.rar 易语言sql数据库备份恢复.rar 易语言sql数据库备份恢复.rar
达梦数据库备份恢复.sql
备份SQL Server数据库.rar备份SQL Server数据库.rar
Delphi 读取SQL语句实现数据库备份, 实现这一功能,主要是Delphi执行SQL语句,这里的SQL语句主是对数据库进行备份的,比如下面的... 执行这个语句,可进行数据库备份,因此本程序可看作是一个数据库SQL用法范例。
sqlserver实现带进度条的数据库备份.docx
作为数据库管理员,或者是软件公司的项目经理经常面临着这个问题,一个数据库一个数据库的备份太累,通过上面的一个存储过程,能够批量备份系统中的所有数据库
退出mysql,然后输⼊以下命令备份数据库 1 [root@CentOS ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家⽬录下命名为mysql.sql 2 Enter password: 3 [root@CentOS ~]# ls ~/mysql.sql /root...
《数据库开发常用SQL文件批量备份》---备份 《数据库开发常用SQL文件批量备份》---备份 《数据库开发常用SQL文件批量备份》---备份 《数据库开发常用SQL文件批量备份》---备份 《数据库开发常用SQL文件批量备份》---...
6.SQL Server 2014数据库备份与还原.mp4 7.SQL Server 2014数据类型.mp4 8.SQL Server 2014新建表.mp4 9.SQL Server 2014修改、删除表结构.mp4 PPT SQL Server 2014简介 SQL Server 2014数据库备份与还原 ...
易语言源码sql数据库备份恢复.rar
浅谈SQL数据库备份.pdf
SQLServer数据库的备份和还原详解SQLServer数据库的备份和还原详解
浅析SQL Server数据库备份.pdf
数据库自动备份.rar数据库自动备份.rar数据库自动备份.rar数据库自动备份.rar数据库自动备份.rar数据库自动备份.rar数据库自动备份.rar数据库自动备份.rar数据库自动备份.rar数据库自动备份.rar
浙江大学数据库系统管理和维护(SQL server)讲稿 employee.sql 第01章 数据库基础.ppt 第02章 SQL Server 关系数据库概述.ppt 第03章 SQL 语言基础.ppt 第04章 T-SQL程序设计基础.ppt 第05章 管理事务.ppt 第...
php备份数据库为sql文件的类
├─14 数据库备份与恢复 │ Backup.sql │ └─15 其它应用 other.sql SQL Server将数据导出SQL脚本的方法_sql.sql SqlDB.bat SQLServer2005无法用SQLServer身份登录.txt Sqlserver数据库总结.sql