最近因公司需要基于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