Получить путь установки MySQL
Мне нужно получить путь установки MySQL, чтобы выполнить экспорт и импорт базы данных через код Java. В настоящее время я работаю с затмением. Мне нужно получить путь установки в строковой переменной "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);
Это то, что я сделал. Это проблема зависимости.
Как я могу решить это?
2 ответа
Решение
Вы пробовали это:
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) {
}
}
}
Вы можете напрямую запросить MySQL и попросить себя указать путь:
SHOW VARIABLES LIKE 'basedir';
или чем проще,
SELECT @@basedir;
Должен дать вам путь установки. Оба должны привести к чему-то вроде:
C: \ Program Files \ MySQL \ MySQL Server 5.1 \
datadir
является эквивалентом для получения пути к каталогу данных (где находятся данные).