我已经看到了当地的MySQL数据库这项工作:如何使用Java转储远程MySQL数据库?
Runtime.getRuntime().exec("mysqldump -u USERNAME -p PASSWORD DBNAME > /path/to/location/backup.sql");
但有可能倾倒从Web服务器远程MySQL数据库?
我正在制作一个程序,通过FTP备份我的网站文件(已完成此部分),并备份我的MySQL数据库在服务器上。所以我需要知道如何做到这一点。
我已经看到了当地的MySQL数据库这项工作:如何使用Java转储远程MySQL数据库?
Runtime.getRuntime().exec("mysqldump -u USERNAME -p PASSWORD DBNAME > /path/to/location/backup.sql");
但有可能倾倒从Web服务器远程MySQL数据库?
我正在制作一个程序,通过FTP备份我的网站文件(已完成此部分),并备份我的MySQL数据库在服务器上。所以我需要知道如何做到这一点。
如果您尝试从其他计算机转储数据库数据,则需要将特权用户的特权授予此任务。
例如,用户是:“remoteAdminUser”
GRANT SELECT, LOCK TABLES
ON *.*
TO 'remoteAdminUser'@'localhost' IDENTIFIED BY 'dbPass';
,然后你可以使用这个java代码
/******************************************************/
//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");
}
它可以,如果你有访问服务器来完成。你可以告诉mysqldump
连接到远程服务器:
mysqldump -h yourServerAddress -u yourUser -pYourPassword dbName > output_file.sql
yourServerAddress
是在MySQL服务器的IP地址。
不,我想从网络服务器转储它,这意味着MySQL服务器在域上。 – user2734304
好的,但是让我知道你是否可以从web服务器查询数据库,例如,你可以做一个“select * from information_schema.tables” –