将一个巨大的sql文件拆分为多个sql文件

时间:2011-09-23 11:15:48

标签: java mysql sql

我有一个巨大的SQL文件,我想恢复到mysql服务器5.5 ....当我恢复过程中恢复过程中的文件停止,然后我有一个想法将该文件拆分为几个文件使用java ...是否有人知道如何将SQL文件分成几个文件..... 下面的代码是为我创建的java类拆分SQL文件...这个类可以为sql巨大文件中的每一行创建一个“哪个不可用”,我想拆分SQL文件让我可以拥有能够在mysql-server中恢复的文件

import java.io.*;

import java.io.FileWriter;

class DataBase 

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

  try{

  FileInputStream fstream = new FileInputStream("D:/dewiki-20110831-site_stats.sql");

  DataInputStream in = new DataInputStream(fstream);

  BufferedReader br = new BufferedReader(new InputStreamReader(in));

  String strLine;

  File f;

  int i=1;

  while ((strLine = br.readLine()) != null){

        f=new File("D:/myfile"+i+".sql");

  if(!f.exists()){

  f.createNewFile();

  PrintWriter out = new PrintWriter(new FileWriter(f));

  out.write(strLine);

  out.close();

  }

  System.out.println (strLine);

  i++;

  }

  in.close();

    }catch (Exception e){

  System.err.println("Error: " + e.getMessage());

  }

  }

}

3 个答案:

答案 0 :(得分:0)

只是想知道为什么这个过程会中途中断?你是如何导入数据库的?

只是问,因为根据我的经验,使用SOURCE命令通过MySQL控制台或类似工具很容易。至少高达50-60mb。

答案 1 :(得分:0)

请尝试使用mysqldbimport

答案 2 :(得分:0)

实际上没有必要将文件拆分成几个文件并将它们存储到数据库中...... 我找到了一种方法,你可以将数据库恢复到使用mysql命令的mysql

这是我使用的命令:

mysql - u user_name -p your_password database_name< file_name.sql

它对我有用......