首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Java转储远程MySQL数据库?

如何使用Java转储远程MySQL数据库?
EN

Stack Overflow用户
提问于 2013-08-31 04:44:42
回答 2查看 2.4K关注 0票数 1

我已经在本地MySQL数据库中看到了这一点:

代码语言:javascript
运行
复制
Runtime.getRuntime().exec("mysqldump -u USERNAME -p PASSWORD DBNAME > /path/to/location/backup.sql");

但是从web服务器转储远程MySQL数据库是可能的吗?

我正在制作一个程序,通过FTP备份我的网站文件(这一部分已经完成),并在服务器上备份我的MySQL数据库。因此我需要知道如何做到这一点。

EN

回答 2

Stack Overflow用户

发布于 2013-08-31 05:04:40

如果您正在尝试从其他计算机转储数据库数据,则需要授予特定用户执行此任务的特权。

例如,用户是:'remoteAdminUser‘

代码语言:javascript
运行
复制
GRANT SELECT, LOCK TABLES 
ON *.* 
TO 'remoteAdminUser'@'localhost' IDENTIFIED BY 'dbPass';

然后,您可以使用下面的java代码

代码语言:javascript
运行
复制
/******************************************************/
//Database Properties
/******************************************************/
String dbName = “dbName”;
String dbUser = “remoteAdminUser”;
String dbPass = “dbPass”;
String filePath = “c:\\sqlDump\myFirstDump.sql”;
/***********************************************************/
// Execute Shell Command
/***********************************************************/
String executeCmd = "";
executeCmd = "mysqldump -u "+dbUser + " -p"+dbPass + " "+dbName + " -r "+filePath;
}
Process runtimeProcess =Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();
if(processComplete == 0){
out.println("Backup taken successfully");
} else {
out.println("Could not take mysql backup");
}
票数 0
EN

Stack Overflow用户

发布于 2013-08-31 05:05:29

如果您有访问服务器的权限,则可以完成此操作。您可以告诉mysqldump连接到远程服务器:

代码语言:javascript
运行
复制
mysqldump -h yourServerAddress -u yourUser -pYourPassword dbName > output_file.sql

yourServerAddress是MySQL服务器所在的IP地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18541208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档