【问题标题】:Get MySQL installation path获取 MySQL 安装路径
【发布时间】:2012-09-27 06:42:37
【问题描述】:

我需要获取MySQL的安装路径,以便通过java代码执行导出和导入数据库。目前正在使用eclipse。我需要在字符串变量“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);

这就是我所做的。这有一个依赖问题。

我该如何解决这个问题?

【问题讨论】:

  • 你到底遇到了什么问题?
  • @GPS 当我在另一个系统中运行程序时,mysql 路径出错。

标签: java mysql installation-path


【解决方案1】:

你试过了吗:

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) {
   }
 }
}

【讨论】:

  • @Franklin 这会产生一个异常。在这种情况下,我的 MySQL 路径是 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\bin ; replace 语句将 Application Data 替换为 Application bin。
  • @Gapchoos 是的,事实上你应该这样做。
【解决方案2】:

你可以直接查询mysql,问自己给你路径:

SHOW VARIABLES LIKE 'basedir';

或者更简单,

SELECT @@basedir;

应该给你安装路径。两者都应该产生类似的结果:

C:\Program Files\MySQL\MySQL 服务器 5.1\

datadir相当于获取数据目录的路径(数据所在的位置)。

【讨论】:

    猜你喜欢
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 2023-02-09
    • 2012-11-27
    • 2022-01-02
    • 1970-01-01
    相关资源
    最近更新 更多