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

java备份MySQL (windows linux)

阅读更多
作为初级的管理员,每天都要备份数据,自动的任务不会设置,于是‘基本靠手’,这样不但繁琐,还保不齐甲流隔离了,有手没处使。

  所以写个java类吧,加载到SPRING程序的自动运行任务中。思路就是使用java调用系统的命令符,执行mysqldump命令。

·首先是Windows系统下:

给大家提个醒:
有人说用:“mysqldump --uroot --p123456 --opt”。但是我没有成功,最后使用这种写法成功了:“mysqldump --user=root --password=123456 --opt”
看来要写完整的方式。


·然后是Linux系统下:

这里很多人遇到的问题是
程序不报错,命令不执行,sql文件没有生成。我已开始用了以下几种写法:java.lang.Runtime.getRuntime().exec(new String[] { mysql });
java.lang.Runtime.getRuntime().exec(new String[] { "shell "+mysql });
java.lang.Runtime.getRuntime().exec(new String[] { "/bin/bash "+mysql });
java.lang.Runtime.getRuntime().exec(new String[] { "/bin/bash/shell "+mysql });
都没有成功,最后试验了这种写法成功了:
java.lang.Runtime.getRuntime().exec(new String[] { "sh", "-c", mysql });
前提是环境变量中都把MySQL的bin目录加上了。

下面请看完整代码:

-----------------------------------
/**
* 2009-11-26
* mqney.com
* Java操作MySQL数据库备份程序
*/
package com.mqney.mysql;
import java.util.Date;
import com.mqney.OokjDate;
/**
* @author mqney
*
*/
public class BackUpMySQL {

private static final String BASE_PATH_LINUX = "/root/";
private static final String BASE_PATH_WINDEWS = "E:\\";

public void backwindows() {
try {
String sqlname = BASE_PATH_WINDEWS + "mqney."
+ new OokjDate(new Date()).toString() + ".sql";
String mysql = "mysqldump --user=root --password=123456 --opt mqney> "
+ sqlname;
java.lang.Runtime.getRuntime().exec("cmd /c " + mysql);
} catch (Exception e) {
e.printStackTrace();
}
}

public void backlinux() {
try {
String sqlname = BASE_PATH_LINUX + "mqney."
+ new OokjDate(new Date()).toString() + ".sql";
String mysql = "mysqldump --user=root --password=123456 --opt mqney> "
+ sqlname;
java.lang.Runtime.getRuntime().exec(
new String[] { "sh", "-c", mysql });
} catch (Exception e) {
e.printStackTrace();
}
}
}
--------------------------------------------------------
分享到:
评论
1 楼 henry_huangs 2012-08-02  
正是我需要的!!

相关推荐

    linux和windows上备份Mysql数据库java代码

    3. **CmdUtil.java** - 在Linux和Windows系统中,备份MySQL数据库的常见方式之一是通过执行操作系统命令,比如`mysqldump`。这个类可能包含了运行操作系统命令的函数,使用Java的Runtime或ProcessBuilder类来执行...

    Java实现对Mysql数据库的备份还原

    本文将深入探讨如何使用Java语言来实现MySQL数据库的备份与还原功能,这是一个跨平台的解决方案,无论是在Windows还是Linux环境下都能正常工作。 首先,让我们了解备份和还原的基本概念。数据库备份是为了防止数据...

    java_mysql备份.rar

    本文将详细讲解如何使用Java来备份MySQL数据库,尤其关注在Windows和Linux操作系统上的应用。 首先,我们需要了解Java MySQL备份的基本原理。在Java中,我们可以使用JDBC(Java Database Connectivity)API来连接和...

    Java实现MySQL数据库备份

    在Java编程环境中,实现MySQL数据库备份通常涉及到操作系统命令行调用和文件操作。这段代码提供了一个名为`MySQLDatabaseBackup`的类,该类包含了将MySQL数据库导出为SQL文件的功能。下面将详细解释这个过程: 1. *...

    java调用mysql命令 导入导出数据库

    在Java编程中,调用MySQL命令来导入和导出数据库是一种常见的操作,这涉及到数据库管理、数据迁移或者备份恢复等场景。在这个过程中,Java通过JDBC(Java Database Connectivity)接口与MySQL进行交互,利用MySQL...

    java mysql 数据库备份和还原操作(csdn)————程序.pdf

    在Java编程环境中,数据库的备份和还原是系统维护的重要环节,特别是对于MySQL这样的关系型数据库。上述代码展示了如何使用Java来实现MySQL数据库的备份和还原操作。以下是对这些操作的详细解释: 首先,代码导入了...

    mysql-server mysql for linux最新服务端

    MySQL是世界上最受欢迎的开源数据库系统之一,尤其在Linux操作系统中被广泛使用。"mysql-server"是MySQL服务端组件,它是数据库引擎的核心,负责处理数据库的读写操作、数据存储以及SQL查询的解析和执行。本资源是...

    liunx deploy下的centos安装java与MySQL.pdf

    在Linux部署环境中,CentOS操作系统是常见的选择,尤其在服务器管理中。本篇文章将详细讲解如何在CentOS系统上安装...此外,根据你的具体需求,你可能还需要配置防火墙规则、设置自动备份、优化MySQL性能等后续步骤。

    mysql--linux安装文档.pdf

    在Linux系统中安装MySQL是一项基础但重要的任务,特别是在Java开发环境中,因为MySQL是常见的关系型数据库管理系统,广泛用于存储和管理应用程序的数据。以下是对给定文档中涉及的MySQL在Linux上安装过程的详细解释...

    mysql_client for linux 最新mysql客户端

    此外,MySQL客户端还包括其他实用工具,例如`mysqldump`用于备份数据库,`mysqladmin`用于服务器管理任务,如查看服务器状态、重启服务等。`mysqlimport`用于将数据快速导入到MySQL,而`mysqlshow`则帮助列出数据库...

    mysql-connector-java-Redhat-CentOS

    "mysql-connector-java-Redhat-CentOS"这个标题暗示了这是一个针对Red Hat Enterprise Linux或CentOS操作系统的特定版本的MySQL连接器。在Linux环境中,尤其是对于系统管理员和运维人员来说,理解和使用这个驱动是至...

    mysql5.5 for windows

    在Windows环境下安装MySQL 5.5,用户可以获得与Linux或Unix平台类似的数据库服务。 MySQL 5.5版带来了许多关键的改进和新特性,这些对提升性能和稳定性至关重要。以下是一些主要的亮点: 1. **InnoDB存储引擎增强*...

    mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

    同时,监控MySQL的性能,定期备份,以及使用工具如pt-online-schema-change进行在线DDL修改,都是日常运维中不可或缺的部分。 总之,MySQL 5.7.31在Linux上的部署不仅提供了强大的数据库服务,而且通过优化的特性...

    MySQL-client-5.6.29-1.linux_glibc2.5.x86_64,MySQL-server-5.6.29-1.linux_glibc

    综上所述,这个压缩包提供了在Linux环境中部署和使用MySQL 5.6.29的基本要素,涵盖了客户端工具、服务器组件、Java驱动程序以及相关的安装和配置指南,对于系统管理员和开发者来说都是非常实用的资源。

    Java+mysql系统部署手册范本.docx

    在Java+MySQL系统中,通常会选用支持J2EE架构的服务器操作系统,如Unix、Windows Server或Linux。本方案选择了Windows Server 2008,因为它具有以下优势: 1. **易于部署和管理**:Windows界面直观,管理和部署工具...

    mysql-5.7.29-linux.zip

    Linux版的MySQL通常比Windows版本更高效,因为它可以直接利用Linux操作系统的优势。 首先,我们来了解一下MySQL 5.7.29的主要特性。这个版本引入了诸多性能优化和新特性,包括InnoDB存储引擎的增强、JSON支持、查询...

    Linux下的MySQL数据库编程

    在Linux环境下进行MySQL数据库编程是一项基础且至关重要的技能,尤其对于系统管理员和开发人员来说。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),它以其高效、可靠和易用性而受到广泛赞誉。本讲义将围绕...

    mysql-5.6-linux安装包

    MySQL提供了一个JDBC驱动(Java Database Connectivity),允许Java代码连接到MySQL数据库。这个驱动通常以`.jar`文件形式分发,比如`mysql-connector-java.jar`。 - **添加到类路径**:开发Java应用时,需要将此...

    小型网站java mysql

    【标题】:“小型网站java mysql”意味着我们正在讨论使用Java编程语言和MySQL数据库来构建一个小型网站。在这样的系统中,Java通常用于后端开发,处理业务逻辑和数据交互,而MySQL作为关系型数据库管理系统(RDBMS...

Global site tag (gtag.js) - Google Analytics