重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用java备份MySQL数据库,主要是使用mysqldump与Runtime().getRuntime().exec().
成都创新互联公司专业成都网站设计、成都网站建设,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文营销等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。
如果没有备份的存储路径首先创建路径.
Path path = Paths.get(xxxx);
try
{
Files.createDirectories(path);
}
catch(IOException e)
{
//xxxx
}
如果是直接用shell执行的话:
mysqldump -u user_name -p database_name > xxxx\database_name.sql
使用-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"
try
{
Runtime.getRuntime().exec(command);
}
catch(IOException e)
{
//xxxx
}
如果没有导出文件或者导出的文件为0KB,可能原因是: