`
god_sky
  • 浏览: 141746 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql 完全备份

    博客分类:
  • java
阅读更多

//mysql 完全备份实现类

package com.sky.mysql;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.Properties;
public class MySqlBackup {

 public void backup() throws IOException {

  Properties pros = new BackupUtil().getPprVue("pro.properties");// 读取db文件
  String username = pros.getProperty("username");//用户名
  String password = pros.getProperty("password");//密码 
  String dataName=pros.getProperty("dataName");//数据库
  String address = pros.getProperty("address");//ip地址
  //C:\Program Files\MySQL\MySQL Server 5.0\bin
  String mysqldump="C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\mysqldump";//mysql安装目录
  String savePath = pros.getProperty("savePath");//保存的路径
  StringBuffer sb = new StringBuffer();
  
  sb.append(mysqldump);
  sb.append(" -u ");
  sb.append(username);
  sb.append(" ");
  sb.append("-p");
  sb.append(password+" ");
  sb.append(dataName);
  sb.append(" ");
  sb.append("-h ");
  sb.append(address);
  System.out.println("\n\t<-------------数据库备份开始------------->");
  try {
   Runtime rt = Runtime.getRuntime();
   Process process = rt.exec(sb.toString());// 执行命令
   InputStream in = process.getInputStream();// 控制台的输出信息作为输入流
   InputStreamReader inputRead = new InputStreamReader(in, "utf8");// 设置输出流编码为utf8   
   File backupath = new File(savePath);
   if (!backupath.exists()) {
    backupath.mkdir();
   }   
   String sqlname=new BackupUtil().getTime();//文件名
   String filePath = savePath+File.separator + sqlname;//文件路径
   OutputStream outputStream = new FileOutputStream(filePath);   
   byte[] buff = new byte[512];
   int len;
   while ((len = in.read(buff)) != -1) {
    outputStream.write(buff, 0, len);
   }
   in.close();
   inputRead.close();   
   outputStream.close();
  } catch (Exception e) {
   e.printStackTrace();
  }  
  System.out.println("\n\t<-------------数据库备份结束-------------->");
 }

 public static void main(String[] args) throws IOException {
   new MySqlBackup().backup();//数据库备份
 }
}

 

 

 

//mysql 完全备份工具类

package com.sky.mysql;

import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;

public class BackupUtil {

 public Properties getPprVue(String string) {
//  BackmysqlUtil.class.getClassLoader().getResourceAsStream(string);
  InputStream input=BackupUtil.class.getClassLoader().getResourceAsStream(string);
  Properties pro=new Properties();
  try {
   pro.load(input);
  } catch (IOException e) {
   e.printStackTrace();
  }
  return pro;
 }
 
 public String getTime(){
  Date d = new Date();
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hhmmss");
  String s =sdf.format(d);
  return s;
 }
}

 

 

 

//mysql 完全备份properties文件

 

username=root
password=1
address=127.0.0.1
savePath=e:\\backup
dataName=pkb

分享到:
评论

相关推荐

    MySQL备份与恢复实战(PDF版)

    Mysql完全备份及恢复:mysqldump 对MyISAM 或InnoDB 完全备份,mysqlhotcopy 对MyISAM 完全备份。增量备份:使用二进制日志增量备份,使用mysqlbinlog 命令恢复二进制日志。SQL 语法备份及恢复。拷贝数据文件备份...

    Linux下MYSQL每天完全备份

    利用crontab,系统每天定时备份mysql数据库 利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。 1、创建保存备份文件的路径/mysqldata #mkdir /mysqldata 2、创建/usr/sbin/...

    MySQL完整备份和增量备份脚本

    mysql完整备份和增量备份脚本,本文档...本文描述Mysql数据库的自动备份,包括完全备份和增量备份。其中,完全备份每周执行一次,增量备份每天都会执行。备份成功后会自动上传到FTP服务器。mysql需要开启二进制日志。

    mysql定时备份器java版

    分完全备份和增量备份,可立即执行和定期执行.点击'完全备份'和'增量备份'即可开始周期任务.定期完全备份的时间为自任务开始后每隔48小时的凌晨5点,定期增量备份为自任务开始后每隔24小时的凌晨6点.目前此版本已实现...

    MYSQL 完全备份、主从复制、级联复制、半同步小结

    mysql 完全备份 1,启用二进制日志,并于数据库分离,单独存放 vim /etc/my.cnf 添加 log_bin=/data/bin/mysql-bin 创建/data/bin文件夹并授权 chown mysql.mysql /data/bin 2,完成备份数据库 mysqldump -A -...

    mysql还原备份文件

    常见的备份方式包括完全备份、增量备份和差异备份。 - **完全备份**: 涵盖了数据库中的所有数据,是最全面的一种备份方式,但也是最占用存储空间的方式之一。 - **增量备份**: 只备份自上次备份以来发生变化的数据...

    mysql热备份工具文档

    完全备份会创建数据库的完整副本,而增量备份则只备份自上次备份以来发生改变的数据,这大大节省了备份时间与存储空间。 使用Xtrabackup进行热备份的基本步骤如下: 1. 安装Xtrabackup:在服务器上安装Percona ...

    mysql数据库备份.rar

    7. `--skip-lock-tables`:不锁定表,适合大数据库,但可能导致不完全一致的备份。 8. `--single-transaction`:使用一个事务获取一致性快照,避免锁定全表。 描述中提到“删除七天前的旧数据”,这可能意味着PHP...

    多备份-MySQL数据库自动备份工具 v1.0

    2、定时计划任务,全自动增量备份,完全帮您省去频繁手工备份的烦恼。1)可以设置每天/每周/每月,在具体的时间自动备份。2)不限制创建的计划任务数量。3、备份数据全部加密,自动压缩存储,私有密钥和cloud5技术保证...

    Java操作mysql备份

    在"Java操作mysql备份完全备份"的标签中,"完全备份"指的是备份整个数据库,包括所有表、视图、存储过程等,以确保在恢复时数据的完整性。 接下来,我们来看一下压缩包内的文件名称: 1. `Java操作mysql备份.doc` -...

    mysql增量备份LIUNX脚本

    与完全备份相比,增量备份占用的空间较小,执行速度更快。对于MySQL而言,其增量备份通常基于二进制日志(Binary Log)。二进制日志记录了所有更改数据库表结构和数据的SQL语句,通过这些日志可以实现增量数据的恢复。...

    mysql数据库自动定时备份

    全备备份是指完全复制数据库的所有内容,而增量/差异备份只记录自上次全备或增量备份以来发生的变化,这样可以节省存储空间。 实现自动定时备份,你可以使用MySQL的内置工具`mysqldump`。这个命令行实用程序能够...

    mysql数据库备份策略

    它不仅可以实现完全备份,还能进行增量备份。使用`mysqldump`进行备份时,可以根据需要选择备份整个数据库或者只备份特定的表。此外,`mysqldump`支持压缩备份文件,这对于节省存储空间非常有用。对于增量备份,可以...

    mysql热备份

    ### MySQL热备份详解 #### 一、MySQL热备份概述 MySQL热备份是一种在不中断数据库服务的情况下进行数据备份的方法。这种方式对于确保业务连续性尤为重要,因为它可以在不影响用户访问的情况下完成备份任务。 ####...

    linux下 MYSQL 自动备份工具

    在Linux环境中,MySQL数据库的自动备份是系统管理中不可或缺的一部分,尤其对于那些依赖大量数据运行的企业来说更是如此。为了确保数据安全,定期备份是必要的预防措施,以防数据丢失或损坏。"linux下 MYSQL 自动...

    mysql(完整、增量)备份与还原

    MySQL数据库在日常运维中扮演着至关重要的角色,因此掌握如何进行完整备份、增量备份与还原是每个IT专业人员必备的技能。在这个主题中,我们将深入探讨如何使用Java来实现这些功能。 首先,让我们理解什么是数据库...

    mysql自动备份脚本

    以下是我linux 下的mysql自动备份脚本。 贴出来,大家分享。 功能说明: 1. 实现mysql数据库每天定时自动执行备份 ...5. 完全自动处理,不需要人工处理(备份记录可按日期保留) 6. 已经使用很久了。效果理想。

Global site tag (gtag.js) - Google Analytics