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

完整备份MySQL的某个数据库

阅读更多
package com.manze.stu;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class BackupMysqlDb {


	/**
	  * www.itlife365.com 
	  * 完整备份MySQL的某个数据库
	  * mysqldump –h hostname –u username –p password databasename > backupfile.sql
	  * 例如:将192.168.102.2服务器上的book数据库备份到192.168.102.3
	  * mysqldump -h 192.168.102.2 -u backup -p book >book.sql

	  * @author happymen001
	  * @version Jun 16, 2010  11:11:25 AM
	  * @param hostName
	  * @param dataBase
	  * @param userName
	  * @param passwd
	  * @param outFilePath
	  * @throws Exception
	  * @return void
	  */
	public static void backupMysqlDatabase(String hostName,String dataBase,String userName,
	    String passwd,String outFilePath )throws Exception {
	  //组装MySQL的备份命令
	  StringBuilder sqlStr = new StringBuilder();
	  sqlStr.append("C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump -u").append(userName)
	     
	     .append(" -p").append(passwd)
	     .append(" ").append(dataBase);
	  if(hostName != null && !hostName.equals("") ){
	   sqlStr.append(" ")
	         .append(" -h").append(hostName);
	  }
	  // --default-character-set=gb2312 
	  //调用系统cmd 命令执行备份命令
	  Runtime rt = Runtime.getRuntime();
	  Process process = rt.exec(sqlStr.toString());
	  InputStream in = process.getInputStream();//控制台的输出信息作为输入流
	  InputStreamReader isr = new InputStreamReader(in,"utf8");
	  
	  StringBuilder sb = new StringBuilder("");
	  String inStr;
	  //组合控制台输出信息字符串
	  BufferedReader br = new BufferedReader(isr);
	  while((inStr = br.readLine()) != null){
	   sb.append(inStr)
	    .append("\r\n");
	  }
	  
	  //把备份数据写入到文件中
	  FileOutputStream fout = new FileOutputStream (outFilePath);
	  OutputStreamWriter writer = new OutputStreamWriter(fout,"utf8");
	  writer.write(sb.toString());
	  writer.flush();
	  //写完文件,关闭相应的流
	  in.close();
	  isr.close();
	  br.close();
	  writer.close();
	  fout.close();
	}
	   
	/**
	  * @author happymen001
	  * @version Jun 15, 2010  11:26:46 PM
	  * @param args
	  * @return void
	  */
	public static void main(String[] args) {
	  // TODO Auto-generated method stub
	  BackupMysqlDb  backupMysqlDb = new BackupMysqlDb ();
	  String hostName = "192.168.26.200";
	  String dataBase = "ec";//is
	  String userName = "root";
	  String passwd = "bjbjbj";
	  String outFilePath = "D:\\backupmysql.sql";
	  
	  try {
	   backupMysqlDb.backupMysqlDatabase(hostName,dataBase, userName, passwd, outFilePath);
	  } catch (Exception e) {
	   // TODO Auto-generated catch block
	   e.printStackTrace();
	   System.out.println(" 备份MySQL失败");
	  }
	  System.out.println(" 备份MySQL 成功");
	}

	}

分享到:
评论

相关推荐

    java备份mysql数据库

    标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...

    MySQL备份数据库的命令.doc

    mysqldump 命令可以备份整个数据库、某个数据库、某个表或多个表。 备份 MySQL 数据库的命令 备份 MySQL 数据库的命令基本格式如下: mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql...

    mysql数据备份和还原的常用命令

    4. 备份 MySQL 数据库某个(些)表 mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql 该命令将备份指定的表。 5. 同时备份多个 MySQL 数据库 ...

    mysql 自动备份数据库脚本

    MySQL数据库在日常运营中起着至关重要的作用,因此定期备份是确保数据安全的重要步骤。"mysql 自动备份数据库脚本" 提供了一种自动化的方法,通过Windows的定时任务服务(taskschd.msc)来定期执行数据库的备份,...

    mysql数据库备份.rar

    "mysql数据库备份.rar"是一个压缩包文件,包含了用于备份MySQL数据库的PHP脚本,以及可能的配置文件和其他相关资源。 首先,我们需要理解数据库备份的基本概念。数据库备份通常涉及创建数据库的完整副本,包括表、...

    MySql数据库备份软件

    7. **恢复功能**:除了备份,软件通常也会包含数据库恢复功能,用户可以根据需要快速恢复到某个特定时间点的状态,大大降低了数据丢失的风险。 8. **易用性**:界面直观,操作简单,使得非专业技术人员也能轻松上手...

    最全Mysql数据库命令

    这些基本的MySQL命令涵盖了数据库管理的各个方面,包括数据的备份、恢复、创建和修改等。熟练掌握这些命令对于日常数据库维护至关重要。通过这些操作,你可以高效地管理MySQL数据库,确保数据的安全性和可用性。

    mysql_备份还原,基本操作,双机热备,数据同步,远程连接 文档集合

    MySQL数据库备份和还原的常用命令 时间:2007-11-02 23:29:09 类别:技术 访问:19,122 views RSS 2.0 评论 备份MySQL数据库的命令 mysqldump -hhostname -...备份MySQL数据库某个(些)表 7个文档,mysql经典指令.

    PHP后台备份MYSQL数据库的代码

    数据库备份是为了防止数据丢失或损坏,通常我们会定期创建数据库的完整副本,这样在发生问题时,可以快速恢复到某个已知的良好状态。在PHP中,我们可以使用MySQL提供的API,如mysqli或PDO,来执行SQL命令,实现这一...

    数据库备份数据库备份.doc

    - **事务日志备份**:记录数据库的所有事务,允许恢复到某个精确的事务点。 2. **备份策略**: - **定期完整备份**:适合小规模或变化不频繁的数据库,定期(如每周一次)进行完整备份。 - **增量备份策略**:...

    mysql数据库的一些常用命令

    根据提供的文件信息,我们可以整理出一系列关于MySQL数据库的常用命令及其使用方法。下面将详细介绍这些命令,以便更好地理解和掌握MySQL数据库的基本操作。 ### 一、备份数据库 #### 1. 备份整个数据库到文件 ```...

    Mysql数据库备份程序PHP版

    3. 文件存储:备份的SQL文件需要保存在某个地方,可能是本地服务器、网络存储或云存储。你需要设置合适的路径,并确保有足够的空间存储备份文件。 4. 定时任务:为了定期执行备份,你可以结合Linux的`cron`或者...

    MySQL数据库安全策略研究

    MySQL数据库安全策略是保护数据完整性和私密性的关键。以下是 MySQL 安全策略的研究总结: 账户权限安全 账户权限安全是 MySQL 安全的基础。 MySQL 中的账号可以分为两类:系统账号和普通账号。系统账号拥有最高...

    mysql常用数据库命令

    - **选择使用某个数据库**: - `use mydb;` - **查看所有数据库**: - `show databases;` #### 五、表的操作 - **创建表**: - 示例:创建一个名为 `user01` 的表,并定义其字段类型: ```sql create table ...

    mysql数据库单表备份和调用mysqldump.exe进行数据库备份

    `mysqldump`是一个强大的工具,用于备份MySQL数据库。它能够将数据库的数据和结构导出成一个SQL脚本文件,该文件可以被导入到另一个MySQL实例中,实现数据的迁移或备份。下面详细介绍如何使用`mysqldump`进行单表...

    MySQL示例数据库employees

    10. **备份与恢复**:了解如何备份MySQL数据库,以及在数据丢失时如何恢复,这对于任何数据库管理员来说都是至关重要的技能。 在实际操作中,首先需要解压“employees_db”文件,然后根据“employees.sql”的内容,...

    027数据库备份_027数据库_

    数据库恢复是备份的目标,通常涉及几个步骤:识别要恢复的备份时间点,选择适当的备份文件,然后利用数据库管理系统(如MySQL, Oracle, SQL Server等)的恢复工具进行还原。在恢复过程中,可能需要考虑点-in-time...

    使用mysqldump命令导出MYSQL数据库

    `mysqldump`是一个强大的命令行工具,它允许用户备份、导出MySQL数据库的数据和结构。这个工具对于开发人员和系统管理员来说是必不可少的,因为它提供了在不同环境之间迁移数据的能力,也可以用于定期备份,防止数据...

    mysql自动备份工具

    这种文件可以直接导入到MySQL服务器,以恢复数据库到某个已知的状态。恢复过程通常通过MySQL命令行客户端或图形用户界面工具(如MySQL Workbench)完成,使用`SOURCE`命令或者导入功能来执行.sql文件中的SQL语句。 ...

Global site tag (gtag.js) - Google Analytics