java自动导出数据库

需要在数据库所在的服务器执行;

java文件:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;

public class ExportDatabase {
       String fileLocation = "/opt/apache-tomcat-8.5.23/mysqlDatabase/";//导出文件的位置
        String fileName="database.sql";//文件名
        String databaseName= "test";//需要导出数据库的数据库名称
        String mysqldumpLocation = "/usr/bin/mysqldump";//dump程序所在的位置
        Scanner scanner = new Scanner(System.in);
        System.out.println("please enter your database account number:");
        String user = scanner.next();//输入账号
        System.out.println("please enter your database password");
        String[] cmds = {"/bin/sh","-c",mysqldumpLocation+" -u"+user+" -p "+databaseName+" > "+fileLocation+fileName};//执行shell脚本
        Process pro = Runtime.getRuntime().exec(cmds);
        pro.waitFor();//执行到这里会提示输入密码
        System.out.println("your file  location is on "+fileLocation+" , name is "+fileName);
      //执行完毕
    }
}

 

如果是shell脚本导出原理也是差不多

#!/bin/bash
#dump的位置 你需要知道你mysqldump的位置 such as /usr/bin/mysqldump   
echo "please enter your dumpLocation:"
read dumpLocation
#需要导出的数据库名称  
echo "please enter your databaseName"
read databaseName
#你想要导出的位置 such as /opt
echo "please enter exportLocation"
read exportLocation
#导入文件的名字 基本都是XXX.sql
echo "please enter your file name"
read fileName
#数据库账号
echo "please enter your database account number:"
read user
$dumpLocation -u$user -p $databaseName > $exportLocation"/"$fileName
#执行到这里提示你输入数据库密码
echo "if not error,your shell is success file location is on"$exportLocation" file name is"
$fileName#执行完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值