Java实现MySQL数据库备份(一)

摘要:
saveFile.exists()){//如果目录不存在saveFile.mkdirs();//创建文件夹}if(!=null){printWriter.println;}printWriter.flush();if{//0表示线程正常终止。=null){printWriter.close();}}catch{e.printStackTrace();}}returnfalse;}publicstaticvoidmain{try{if{System.out.println("数据库成功备份!!!");}else{System.out.println("数据库备份失败!!!

下班了,利用闲暇时间总结一下如何使用Java语言实现MySQL数据库备份:

  1. importjava.io.BufferedReader;
  2. importjava.io.File;
  3. importjava.io.FileOutputStream;
  4. importjava.io.IOException;
  5. importjava.io.InputStreamReader;
  6. importjava.io.OutputStreamWriter;
  7. importjava.io.PrintWriter;
  8. /**
  9. *MySQL数据库备份
  10. *
  11. *@authorGaoHuanjie
  12. */
  13. publicclassMySQLDatabaseBackup{
  14. /**
  15. *Java代码实现MySQL数据库导出
  16. *
  17. *@authorGaoHuanjie
  18. *@paramhostIPMySQL数据库所在服务器地址IP
  19. *@paramuserName进入数据库所需要的用户名
  20. *@parampassword进入数据库所需要的密码
  21. *@paramsavePath数据库导出文件保存路径
  22. *@paramfileName数据库导出文件文件名
  23. *@paramdatabaseName要导出的数据库名
  24. *@return返回true表示导出成功,否则返回false。
  25. */
  26. publicstaticbooleanexportDatabaseTool(StringhostIP,StringuserName,Stringpassword,StringsavePath,StringfileName,StringdatabaseName)throwsInterruptedException{
  27. FilesaveFile=newFile(savePath);
  28. if(!saveFile.exists()){//如果目录不存在
  29. saveFile.mkdirs();//创建文件夹
  30. }
  31. if(!savePath.endsWith(File.separator)){
  32. savePath=savePath+File.separator;
  33. }
  34. PrintWriterprintWriter=null;
  35. BufferedReaderbufferedReader=null;
  36. try{
  37. printWriter=newPrintWriter(newOutputStreamWriter(newFileOutputStream(savePath+fileName),"utf8"));
  38. Processprocess=Runtime.getRuntime().exec("mysqldump-h"+hostIP+"-u"+userName+"-p"+password+"--set-charset=UTF8"+databaseName);
  39. InputStreamReaderinputStreamReader=newInputStreamReader(process.getInputStream(),"utf8");
  40. bufferedReader=newBufferedReader(inputStreamReader);
  41. Stringline;
  42. while((line=bufferedReader.readLine())!=null){
  43. printWriter.println(line);
  44. }
  45. printWriter.flush();
  46. if(process.waitFor()==0){//0表示线程正常终止。
  47. returntrue;
  48. }
  49. }catch(IOExceptione){
  50. e.printStackTrace();
  51. }finally{
  52. try{
  53. if(bufferedReader!=null){
  54. bufferedReader.close();
  55. }
  56. if(printWriter!=null){
  57. printWriter.close();
  58. }
  59. }catch(IOExceptione){
  60. e.printStackTrace();
  61. }
  62. }
  63. returnfalse;
  64. }
  65. publicstaticvoidmain(String[]args){
  66. try{
  67. if(exportDatabaseTool("172.16.0.127","root","123456","D:/backupDatabase","2014-10-14.sql","test")){
  68. System.out.println("数据库成功备份!!!");
  69. }else{
  70. System.out.println("数据库备份失败!!!");
  71. }
  72. }catch(InterruptedExceptione){
  73. e.printStackTrace();
  74. }
  75. }
  76. }

免责声明:文章转载自《Java实现MySQL数据库备份(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ROS tf广播编写大数据迁移下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux搭建主从数据库服务器(主从复制)

配置主机数据库: 1.克隆linux操作系统             2.修改Linux系统主机IP地址   主机IP:192.168.247.150   从机IP:192.168.247.151        3.通过xshell连接Master 连接主机IP:ssh 192.168.247.150   这里有可能连接失败。   方案一:将虚拟机的网络适...

Elasticsearch logstsh同步mysql数据到ES中

1、准备: 1) 启动前面搭建的ES集群, 192.168.127.130,192.168.127.128,192.168.127.129 2) 准备要同步的数据库和数据 数据库所在的服务器IP为192.168.1.104 数据库端口为3306 数据库名shop,表名items items的表结构如下 items表的数据如下 这里有两条数据,实际环境会...

YII 使用mysql语句查询

使用YII2.0提供的AR访问数据库时,功能限制较大,只好结合SQL语句如: GzhAd::findBySql('SELECT * FROM gongZhongHaoInfo where advertisementID > :start && advertisementID < :end', array(':start' =&g...

《Linux命令行与shell脚本编程大全》第二十五章 创建与数据库、web及电子邮件相关的脚本

25.1 MySQL数据库 /* 但是我在虚拟机上安装的时候居然不提示输入密码。 这个可以参考http://blog.csdn.net/sinat_21302587/article/details/76870457 导致登录的时候不知道账号密码。 默认的账号密码在 /etc/mysql/debian.cnf上。如下图,user和password就是账号密码...

SQLyog快捷键

Ctrl+M   创建一个新的连接 Ctrl+N   使用当前设置新建连接 Ctrl+F4   断开当前连接 对象浏览器 F5   刷新对象浏览器(默认) Ctrl+B   设置焦点于对象浏览器 SQL 窗口 Ctrl+T   新建查询编辑器 Ctrl+E   设置焦点于 SQL 窗口 Ctrl+Y   重做  Ctrl+Z   撤销   Ctrl+X  ...

(转)菜鸟学数据库(二)——触发器

本人水平有限,写此博客只为给那些像我一样的菜鸟一点小小的帮助,还请各位大牛不要见笑。 数据库的重要性就不用我多说了吧,我们做的大多数项目都要跟数据库打交道。因此,熟练掌握数据库的各种操作,就成了一个程序员必备的技能。今天我们就来简单说一下触发器。 这篇文章只是对触发器的理论总结,要想彻底了解触发器,参考SqlServer基础之(触发器)(清晰易懂) 触发器...