如何用程序备份mysql数据库???(100分)

W

wanpeng

Unregistered / Unconfirmed
GUEST, unregistred user!
mysqldump.exe -u root -pmanager== --default-character-set=GBK --ignore-table=psykey.materialtable psykey>db.dmp
直接写这个语句执行不行,好像不认“>”符号,换成流的方式:
FileOutputStream fos= new FileOutputStream(filepath);
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("mysqldump.exe -u root -pmanager== --default-character-set=GBK --ignore-table=psykey.materialtable psykey");
GripStream errorGobbler = new GripStream(proc.getErrorStream(), "ERROR");

GripStream outputGobbler = new GripStream(proc.getInputStream(), "OUTPUT", fos);
errorGobbler.start();
outputGobbler.start();
int exitVal = proc.waitFor();
if (exitVal == 0)
{
rtn = true;
}
fos.flush();
fos.close();
proc.destroy();
但是这样的话,第一次有时候可以,以后都不行,备份的文件大小不对。
请有经验的高手来指点一下迷津吧,谢了!
 
是 因为你没有指定mysql/bin的路径吧 ?
mysqldump.exe 这个命令在路径里找不到,不知道应该执行哪个.
 
你直接在cmd中执行mysqldump.exe -u root -pmanager== --default-character-set=GBK --ignore-table=psykey.materialtable psykey>db.dmp
是否可以正常执行?
 
用一个bat文件,运行bat文件即可
 
接受答案了.
 
顶部