/ 中存储网

使用Java程序备份MySQL数据库

2014-07-13 16:29:00 来源:中存储网
    public static void backup2() {
     String user = "root"; // 数据库帐号
     String password = "root"; // 登陆密码
     String database = "jeecms"; // 需要备份的数据库名
     String filepath = "e:\finacing.sql"; // 备份的路径地址
     String stmt1 = "c://Program Files/MySQL/MySQL Server 5.0/bin/mysqldump " + database +" -h localhost "+ " -u " + user + " -p" +
     password + " --default-character-set=utf8 --result-file=" + filepath;
     //或"D:\mysql5027\bin\mysqldump"
     try {
      System.out.println(stmt1);
     Runtime.getRuntime().exec(stmt1);
     System.out.println("数据已导出到文件" + filepath + "中");
     } catch (IOException e) {
     e.printStackTrace();
     }
     }

mysql导入导出命令

mysqldump命令的输入是在bin目录下.
1.导出整个数据库
  mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
  2.导出一个表
  mysqldump -u 用户名 -p 数据库名 表名> 导出文件的路径和名称
  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
  3.导出一个数据库结构
  mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
  4.导入数据库
  常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source d:wcnc_db.sql

1、导出
从mysql数据库中导出大量数据,推荐mysqldump 命令,用命令的有点在于比工具灵活,可以通过设置命令的参数来根据条件导出一个表中的部分数据
例如:将一个表的数据按照一定的条件导出到d:sql1.sql文件中
D:MySQL5bin>mysqldump -u用户名 -p密码 --no-create-db=TRUE --no-create-inf
o=TRUE --add-drop-table=FALSE --default-character-set="gbk" --where="id<428
7152 and id>0" 数据库名 表名>d:sql1.sql
--no-create-db=TRUE  表示不生成创建数据库的语句
--add-drop-table=FALSE  表示不生成drop表的语句
--default-character-set="gbk"  导出数据的编码为"GBK",很重要,如果是中文数据,尤其重要
--where="id<4287152 and id>0"  指定导出数据的条件

2、导入
use 数据库名
source d:sql1.sql