Weka (資料探勘工具) 需透過 JDBC 連接 MySQL 執行資料探勘實驗。本文記錄 Ubuntu 環境下從 JDK 安裝、驅動部署、環境變數、Weka 內部配置的完整鏈路。
# 1. 安裝 JDK (OpenJDK 8/11) sudo apt update && sudo apt install openjdk-11-jdk # 2. 下載 Weka (官網 https://www.cs.waikato.ac.nz/ml/weka/downloading.html) unzip weka-3-8-6.zip -d ~/tools/ # 假設路徑 ~/tools/weka-3-8-6 # 3. 下載 MySQL Connector/J (JDBC 驅動) # 官網 https://dev.mysql.com/downloads/connector/j/ # 解壓取得 mysql-connector-java-8.0.xx.jar
| 方案 | 操作 | 優缺點 |
|---|---|---|
| 1. Weka 專用 lib 目錄 (推薦) | mkdir ~/tools/weka-3-8-6/lib; cp mysql-connector-java-8.0.xx.jar ~/tools/weka-3-8-6/lib/ | 隔離性好,不污染系統 JDK |
| 2. JDK 擴展目錄 | cp mysql-connector-java-8.0.xx.jar ${JAVA_HOME}/jre/lib/ext/ | 全域生效,但 JDK 升級會遺失 |
| 3. CLASSPATH 環境變數 | export CLASSPATH=.:$CLASSPATH:~/tools/weka-3-8-6/lib/mysql-connector-java-8.0.xx.jar | 靈活但易忘記設定 |
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:~/tools/weka-3-8-6/lib/mysql-connector-java-8.0.xx.jar
export PATH=${JAVA_HOME}/bin:$PATH
export PATH=$PATH:~/tools/weka-3-8-6/weka.jar
source ~/.bashrc
使用壓縮工具開啟 weka.jar,找到 weka/experiment/DatabaseUtils.props,解壓修改後替換回去,或建立外部同名檔案置於 classpath 根目錄 (Weka 會優先讀取外部)。
# 關鍵修改項 jdbcDriver=com.mysql.cj.jdbc.Driver jdbcURL=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC&characterEncoding=utf8 # 欄位型別映射 (保持預設即可,MySQL 8.0 相容) # MySQL 8.0 驅動類為 com.mysql.cj.jdbc.Driver,5.x 為 com.mysql.jdbc.Driver