加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Java存储备份MySQL

发布时间:2023-08-03 14:58:53 所属栏目:MySql教程 来源:
导读:概述

使用java备份mysql数据库,主要是使用mysqldump与Runtime().getRuntime().exec().

2 创建备份路径

如果没有备份的存储路径首先创建路径.

Path path = Paths.get(xxxx);

try

{

F
概述
 
使用java备份mysql数据库,主要是使用mysqldump与Runtime().getRuntime().exec().
 
2 创建备份路径
 
如果没有备份的存储路径首先创建路径.
 
Path path = Paths.get(xxxx);
 
try
 
{
 
    Files.createDirectories(path);
 
}
 
catch(IOException e)
 
{
 
    //xxxx
 
}
 
3 执行命令
 
如果是直接用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"
 
4 执行
 
try
 
{
 
    Runtime.getRuntime().exec(command);
 
}
 
catch(IOException e)
 
{
 
    //xxxx
 
}
 
5 其他问题
 
如果没有导出文件或者导出的文件为0KB,可能原因是:
 
语法错误:命令的空格使用不当,路径设置错误,使用了错误的参数等.
 
环境问题:如在windows下没有添加到环境变量,没有加上"cmd /c".
 
用户名/密码错误:这个....
 
权限问题:用户没有相应权限,要登陆到mysql中授权.
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章