使用-u与-p分别指定用户与密码,最后重定向到文件.
但是,要注意再java中用exec()时,千万千万不能使用-p选项,-p是交互式输入密码的,使用了-p的话导出的文件是0KB的,需要使用
--password
String command = "mysqldump -u user --password=xxxx > xxxx\\xxxx.sql"
要注意一下路径问题,另外,在windows下,需要使用cmd:
String command = "cmd /c mysqldump -u user --password=xxxx > xxxx\\xxxx.sql"
%MYSQL_HOME%/bin
加入到环境变量,如果没有加入的话输入绝对路径:
String command = "cmd /c C:\\Program Files\\mysql\\bin\\mysqldump -u user --password=xxxx > xxxx\\xxxx.sql"
Runtime.getRuntime().exec(command);
catch(IOException e)
//xxxx
5 其他问题
如果没有导出文件或者导出的文件为0KB,可能原因是:
语法错误:命令的空格使用不当,路径设置错误,使用了错误的参数等.
环境问题:如在windows下没有添加到环境变量,没有加上"cmd /c".
用户名/密码错误:这个....
权限问题:用户没有相应权限,要登陆到mysql中授权.