`

java备份mysql-5.1.42(生成sql文件)

阅读更多
注:我的mysql为免安装版
两个文件,一个是java类,一个是配置文件:
JavaBackupMysql.java内容为:

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class JavaBackupMysql {

/**
* 备份mysql5.1.24免安装版,生成sql文件,sql为备份的脚本名比如bakupDb.sql
*
* @param sql
*            sql文件名
* @throws Exception
*
*/

public static void main(String[] args) throws IOException {
JavaBackupMysql jmsql = new JavaBackupMysql();
jmsql.backup("backupDb.sql");

}
public void backup(String sql) {

InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("db.properties");
Properties pros = new Properties();
try {
pros.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
finally
{
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}

// 这里是读取的属性文件,也可以直接使用
String username = pros.getProperty("username");//用户名
String password = pros.getProperty("password");//密码
String mysqlpaths = pros.getProperty("mysqlpath");//mysqldump.exe文件路径
String address = pros.getProperty("address");//数据库地址
String databaseName = pros.getProperty("databaseName");//要备份的数据库名
String sqlpath = pros.getProperty("sql");//备份出来的sql地址,我这放到D盘下了

File backupath = new File(sqlpath);
if (!backupath.exists()) { //如果有备份过的文件覆盖掉
backupath.mkdir();
}
StringBuffer sb = new StringBuffer();

sb.append(mysqlpaths);
sb.append("mysqldump ");
sb.append("--opt ");
sb.append("-h ");
sb.append(address);
sb.append(" ");
sb.append("--user=");
sb.append(username);
sb.append(" ");
sb.append("--password=");
sb.append(password);
sb.append(" ");
sb.append("--lock-all-tables=true ");
sb.append("--result-file=");
sb.append(sqlpath);
sb.append(sql);
sb.append(" ");
sb.append("--default-character-set=utf8 ");
sb.append(databaseName);
Runtime cmd = Runtime.getRuntime();
try {
Process p = cmd.exec(sb.toString());
} catch (IOException e) {
e.printStackTrace();
}

}

db.properties内容为:

username=root
password=
mysqlpath=D:\\mysql-5.1.42\\bin\\
address= localhost
databaseName= mydb
sql= D:\\

说明:结果在我D盘上备份出包含mydb数据库的建库、建表、表的数据内容的sql文件,但是表名和字段名都有引号,如果你重新生成库的时候批量替换掉单引号,一开始我用工具备份的时候也这样,还认为工具的事儿呢,原来mysql的问题,不花钱的讲究着点儿吧,还有就是如果sql文件过大,是不是会打不开,没法修改呢?这也是个问题。
分享到:
评论

相关推荐

    mysql-connector-java-5.1.42-bin.jar 官网驱动下载

    mysql-connector-java-5.1.42-bin.jar 官网下载的驱动

    mysql-connector-java-5.1.42.zip

    java连接mysql的稳定驱动

    mysql-connector-java-5.1.42

    1. **jar文件**:这是主要的库文件,例如`mysql-connector-java-5.1.42.jar`,它包含了所有必要的Java类和资源,用于建立和管理与MySQL服务器的连接。开发者可以通过在项目中引入这个JAR,来启用对MySQL数据库的访问...

    mysql-connector-java-5.1.42-bin-

    在本例中,压缩包中的唯一文件"mysql-connector-java-5.1.42-bin1.jar"就是驱动程序本身。你可以将这个JAR文件放在项目的lib目录下,或者如果你使用的是Maven或Gradle,可以在构建配置中添加依赖项。 以下是使用...

    mysql-connector-java-5.1.42.jar

    在这个特定的场景中,我们讨论的是"mysql-connector-java-5.1.42.jar",这是一个特定版本的MySQL Java驱动程序,它允许Java应用通过JDBC(Java Database Connectivity)接口与MySQL数据库进行通信。 MySQL ...

    mysql-5.1.42.tar.gz

    通过解压"mysql-5.1.42.tar.gz",用户可以获得MySQL 5.1.42的源代码,进行编译安装或自定义配置,以适应特定的系统需求。安装完成后,用户可以利用上述特性来构建和管理高性能、高可用性的数据库系统。在实际应用中...

    mysql-essential-5.1.42-win32.zip

    在“mysql-essential-5.1.42-win32.zip”中,有两个关键文件: 1. **说明_Readme.html**:这个文件通常包含安装指南、版本信息、已知问题和解决办法等重要信息。用户在安装前应仔细阅读,确保了解软件的使用环境和...

    \MySQL-server-5.1.42-0.glibc23.i386.rpm.zip

    这里的"\MySQL-server-5.1.42-0.glibc23.i386.rpm.zip"是一个压缩包,包含了用于Linux操作系统的MySQL Server的5.1.42版本。这个特定的版本针对glibc23库进行了优化,适用于32位(i386)系统。让我们深入了解MySQL ...

    MySQL5.5及其驱动连接jar包mysql-connector-java-5.1.19

    首先,安装数据库,然后将mysql-connector-java-5.1.21-bin.jar文件拷贝到一个目录下,任意即可,放在MySQL下更好,然后到classpath配置环境,将 此文件追加到后面。最后,在工程的webContent的web-Inf下找到lib...

    mysql-connector-java-5.1.5-bin.jar mysql-connector-java-5.1.40-bin

    例如,`mysql-connector-java-5.1.5-bin.jar`这个文件包含了所有必要的类和资源,以便Java程序能够识别并通信到MySQL服务器。 在使用MySQL Connector/J时,开发人员通常需要执行以下步骤: 1. 将对应的JAR文件添加...

    mysql-connector-java-5.1.44-bin.jar

    "mysql-connector-java-5.1.44-bin.jar"是这个驱动程序的一个具体版本,版本号为5.1.44。 在Java编程环境中,当你需要与MySQL数据库进行交互时,你需要在类路径中包含这个jar文件。JDBC驱动程序主要分为四个级别:...

    mysql-connector-java-5.1.7-bin.jar

    "mysql-connector-java-5.1.7-bin.jar" 文件就是这个桥梁,它是一个Java归档(JAR)文件,包含了MySQL JDBC驱动的所有必要组件。 MySQL JDBC驱动,也被称为MySQL Connector/J,允许Java应用程序通过遵循JDBC API来...

    mysql-connector-java-5.1.49.jar

    在Java环境中,JDBC(Java Database Connectivity)是连接数据库的标准接口,而mysql-connector-java-5.1.49.jar就是实现了这个接口的驱动程序,允许Java代码通过JDBC API与MySQL数据库进行通信。 1. **JDBC接口**:...

    java mysql jar包mysql-connector-java-5.0.8-bin.zip

    这个压缩包包含两个文件:`mysql-connector-java-5.0.8-bin.txt`和`mysql-connector-java-5.0.8-bin.jar`。在这里,我们将深入探讨这些文件的作用以及它们在Java MySQL连接中的重要性。 首先,`mysql-connector-...

    mysql-connector-java-5.1.27-bin.jar.zip

    `mysql-connector-java-5.1.27-bin.jar.zip`这个压缩文件包含的是`mysql-connector-java-5.1.27-bin.jar`,解压后,你需要确保这个JAR文件在Hive的类路径中。在Hadoop和Hive的环境配置中,可以将这个JAR文件放到Hive...

    mysql-connector-java-5.1.15-bin.jar.zip

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而`mysql-connector-java`则是MySQL官方提供的Java数据库连接器,用于在Java应用程序中与MySQL服务器进行通信。在这个特定的案例中,我们讨论的是`mysql-...

    mysql-connector-java-5.1.26-bin.zip

    "mysql-connector-java-5.1.26-bin.zip"是一个包含MySQL JDBC驱动的压缩文件,它使得Java开发者能够通过Java代码与MySQL服务器进行通信。 MySQL Connector/J是MySQL官方提供的用于Java的JDBC驱动程序,它实现了Java...

    mysql驱动包 mysql-connector-java-5.1.13-bin.jar

    mysql驱动包 mysql-connector-java-5.1.13-bin.jar 方便快捷获取。。。

Global site tag (gtag.js) - Google Analytics