最近因公司需要基于java备份mysql数据库,按照网络上多数建议使用以下命令备份:mysqldump -uroot  -padmin minas >/usr/2.sql,使用该命令的java实现如下所示:

Runtime.getRuntime().exec("mysqldump -uroot  -padmin minas >/usr/2.sql");

经测试发现:该语句{ mysqldump -uroot  -padmin minas >/usr/2.sql }在linux下直接执行是没有错误的,但是基于jdk调用时,不能实现对其备份。

故给出以下解决方法:

1.利用whereis命令查看mysqldump命令所在路径.如:whereis mysqldump,得到结果为:mysqldump:  /usr/bin/mysqldump

2.将命令改为: /usr/bin/mysqldump -uroot  -padmin minas >/usr/2.sql

3.java实现为

String[] cmd=new String[]{" /bin/sh "," -c "," /usr/bin/mysqldump -uroot  -padmin minas >/usr/2.sql "};

Runtime.getRuntime().exec(cmd);

}catch(Exception e){

mysqldump中参数的使用可参照baidu。

from:cnxieyang@163.com

最近因公司需要基于java备份mysql数据库,按照网络上多数建议使用以下命令备份:mysqldump -uroot  -padmin minas >/usr/2.sql,使用该命令的java实现如下所示:Runtime.getRuntime().exec("mysqldump -uroot  -padmin minas >/usr/2.sql");  经测试发现:该语句{mysqld
要在 Linux 使用 mysqldump Java 备份 数据库 ,可以按照以下步骤操作: 首先,确保已经在 Linux 系统上安装了 MySQL 数据库 Java 开发环境。 打开终端窗口,输入以下命令以 使用 mysqldump 备份 数据库 mysqldump -u [用户名] -p [密码] [ 数据库 名] > [ 备份 文件名].sql 其中,[用户名]是您在 MySQL 中创建的用户名,[密码]是您的MySQ...
import java .io.IOException; import java .io.InputStreamReader; import java .io.LineNumberReader; * mysql 备份 * @author gaoyihang public class MysqlDump { * linux 下执行shell文件~~ * @par
Linux 下, 使用 java 备份 数据库 的代码 /bin/sh -c /usr/bin/ mysqldump -u(用户名 ) -p( 数据库 密码)-h(IP地址) 数据库 名 > (选择 备份 的目录)/文件名字.sql Process process = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","/usr/bin/ mysqldump -uroot -proot -hlocalhost app_terminal&g...
这个问题花费我两天时间,上网搜中文的资料大都换另一种方式解决的。说是在 java 中cmd不支持重定向,采用的另一种方式是得到Runtime.getRuntime().exec()的输入流,然后写到一个文本中。这个方法也不错(本人没有 使用 )。 今天要介绍的方法是调用本地的 mysqldump .exe重定向的方式 备份 数据库 。首先要说明的是 mysqldump .exe在哪里不重要,重要的是要处理好路
使用 java 代码 备份 mysql 指定 数据库 ,指定表 备份 到指定目录 java 项目环境 备份 需求具体代码逻辑遇到的问题 java 项目环境 SpringBoot+MybatisPlus MySql 5.6+ 备份 需求 在 java 使用 mysqldump 命令对指定的表进行 备份 ,并生成sql文件输出到指定目录 具体代码逻辑 import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFacto
1.服务器上需要安装 mysql 客户端: (1)windows系统安装 mysql 客户端并配置环境变量; (2) linux 系统安装 mysql 客户端,不需要配置环境变量;2. java 拼接 mysqldump 命令:/** * @Title: get MysqlDump Command * @Description: TODO(拼接模板 备份
1. java .io.IOException: Cannot run program “ mysqldump ”: CreateProcess error=2, 系统找不到指定的文件 2.导出的sql文件是空的 这两个问题可能都是一个原因导致的 那就是Program Files中间的空格 虽然第一个问题在给 mysqldump 在环境变量的path中配置并重启后就没有报错了 解决方案:将 mysqldump 复制到项目路径下,执行语句改为“cmd /c c:\ mysqldump -hlocalhost -uXXX -pX
自己学习Runtime.getRuntime().exec()之后明白其用法,但是总结不出它的功能,在查阅网上资料找到一个比较通俗易懂且全面的答案:在 java 中,RunTime.getRuntime().exec()实现了调用服务器命令脚本来执行功能需要。 如果我们想在500秒后使电脑关机则需要在运行中输入 cmd ,打开命令弹框中输入: //添加一个60S后自动关闭计算机的计划。 shutdown -s -t 500 通过Runtime.getRuntime().exec()我们可以这样写 0o明天会更好o0: 老哥,我的导出也是空的, mysqldump --user=root --password=Ztkj123456. --opt user>/home/1.sql 知道什么原因吗 The auxService:mapreduce_shuffle does not exist 问题解决记录 Nidalee_: !!!!!谢谢!!!! The auxService:mapreduce_shuffle does not exist 问题解决记录 相约相守到天边: 给你点赞,感谢 linux采用liveCd模式,reboot后保存数据丢失问题解决方案。 又有人误人子弟了: 问题是你install了还能叫liveCD吗...这和标题完全是南辕北辙.. Linux下通过java备份mysql数据库,使用mysqldump 老哥导出来为空解决了没有,我的也是为空