我需要获取MySQL的安装路径才能通过java代码执行导出和导入数据库。目前正在使用eclipse。我需要在String变量“mySqlPath”中获取安装路径。
File fMysqlPath = new File("C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\");
String executeCmd = "mysqldump -u " + Constants.DB_USER + " -p" +
Constants.DB_PASSWORD + " " + Constants.DB_NAME + " -r " +
FilePath + "\\" + FileName;
Process runtimeProcess = Runtime.getRuntime().exec(executeCmd, null, fMysqlPath);
这就是我所做的。这有一个依赖性问题。
我该如何解决这个问题?
答案 0 :(得分:10)
你试过这个:
import java.sql.*;
import javax.sql.*;
public class MysqlPathFinderDemo{
public static void main(String args[]){
String dbtime;
String dbUrl = "jdbc:mysql://your.database.domain/yourDBname";
String dbClass = "com.mysql.jdbc.Driver";
String query = "Select * FROM users";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection (dbUrl);
Statement stmt = con.createStatement();
res = Myconnection.st.executeQuery("select @@datadir");
String Mysqlpath = "";
while(res.next()){
Mysqlpath=res.getString(1) ;
}
Mysqlpath = Mysqlpath.replace("Data", "bin");
System.err.println("Mysql path is :"+a);
} catch(Exception ee) {
}
}
}
答案 1 :(得分:3)
您可以直接查询mysql并自问为您提供路径:
SHOW VARIABLES LIKE 'basedir';
或更容易,
SELECT @@basedir;
应该给你安装路径。两者都应该导致类似:
C:\ Program Files \ MySQL \ MySQL Server 5.1 \
datadir
相当于获取数据目录的路径(数据所在的位置)。