使用java备份还原MySQL数据库

本文介绍了一种使用Java实现的SQL文件备份与导入的方法。通过调整字符集设置确保了中文内容在不同编辑器中正常显示,避免乱码问题。文中详细展示了如何创建备份文件以及如何将备份文件导入到数据库中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.*;

public class BackupAndLoad {
public static void main(String[] args) {

  backup();
   load();
}

 

/**
  * 备份检验一个sql文件是否可以做导入文件用的一个判断方法:把该sql文件分别用记事本和ultra
  * edit打开,如果看到的中文均正常没有乱码,则可以用来做导入的源文件(不管sql文件的编码格式如何,也不管db的编码格式如何)
  */
public static void backup() {


   String user = "root"; // 数据库帐号
   String password = "70689341"; // 登陆密码
   String database = "finacing"; // 需要备份的数据库名
   String filepath = "e:\\finacing.sql"; // 备份的路径地址
  
   String stmt1 = "mysqldump " database " -u " user " -p" 
       password " --default-character-set=gb2312 --result-file=" filepath;
   //--default-character-set这儿设为你安装数据库时所选择的语言,比如说你安装MySQL里用的默认的UTF-8,这儿
   //就设为UTF8,若是gb2312的话应设为gb2312,如果这儿设得不对的话,你用ultraedit打开这个备份后的sql文件时,
   //中文部分显示乱码。
   try {
    Runtime.getRuntime().exec(stmt1);
    System.out.println("数据已导出到文件" filepath "中");
   } catch (IOException e) {
    e.printStackTrace();
   }

}

/**
  * 导入
  * 
  */
public static void load() {

   String filepath = "e:\\finacing.sql"; // 备份的路径地址
   
   // 新建数据库finacing
   String stmt1 = "mysqladmin -u root -p70689341 create finacing";
   //-p后面加的是你的密码
   String stmt2 = "mysql -u root -p70689341 finacing < " filepath;
   String[] cmd = { "cmd", "/c", stmt2 };
  
   try {
    Runtime.getRuntime().exec(stmt1);
    Runtime.getRuntime().exec(cmd);
    System.out.println("数据已从 " filepath " 导入到数据库中");
   } catch (IOException e) {
    e.printStackTrace();
   }

}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值