Anleitung: MySQL-Connector-Java Classpath setzen und Verbindung zur MySQL-Datenbank unter Ubuntu herstellen

Melden

In diesem Tutorial lernst du Schritt für Schritt, wie du den Java-MySQL-Connector (JDBC) unter Ubuntu installierst, den CLASSPATH konfigurierst und eine Java-Anwendung erfolgreich mit einer MySQL-Datenbank verbindest.


Voraussetzungen

Stelle sicher, dass Java (JDK) und der MySQL-Server auf deinem System installiert sind. Falls noch nicht geschehen, installiere sie mit:

sudo apt update
sudo apt install default-jdk mysql-server

Schritt 1: MySQL Connector/J installieren

Unter Ubuntu kann der offizielle Treiber bequem über das Paketverwaltungssystem installiert werden:

sudo apt install libmysql-java

Nach der Installation liegt die JAR-Datei standardmäßig im Verzeichnis /usr/share/java/. Du kannst überprüfen, ob die Datei existiert:

ls -l /usr/share/java/mysql-connector-java.jar

Schritt 2: MySQL-Datenbank und Testbenutzer einrichten

Erstelle eine Test-Datenbank und einen Benutzer für die Java-Verbindung:

  1. Öffne die MySQL-Konsole:

    sudo mysql
  2. Führe folgende SQL-Befehle aus:

    CREATE DATABASE testdb;
    CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Passwort123!';
    GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

Schritt 3: Java-Testprogramm schreiben

Erstelle eine Datei namens DatabaseTest.java in einem Verzeichnis deiner Wahl:

nano DatabaseTest.java

Füge folgenden Code ein:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DatabaseTest {
    public static void main(String[] args) {
        // Verbindungsdaten
        String url = "jdbc:mysql://localhost:3306/testdb";
        String user = "testuser";
        String password = "Passwort123!";

        System.out.println("Verbindung zur Datenbank wird aufgebaut...");

        try {
            // Treiber laden (ab JDBC 4.0 optional, aber empfohlen)
            Class.forName("com.mysql.cj.jdbc.Driver");

            // Verbindung herstellen
            Connection connection = DriverManager.getConnection(url, user, password);
            System.out.println("Erfolg: Verbindung zur MySQL-Datenbank hergestellt!");

            connection.close();
        } catch (ClassNotFoundException e) {
            System.err.println("Fehler: MySQL-JDBC-Treiber nicht gefunden. Überprüfe den Classpath!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.err.println("Fehler: Verbindung zur Datenbank fehlgeschlagen!");
            e.printStackTrace();
        }
    }
}

Speichere die Datei mit Strg + O, bestätige mit Enter und schließe sie mit Strg + X.


Schritt 4: Den Classpath setzen

Damit der Java-Compiler (javac) und die Java-Laufzeitumgebung (java) die MySQL-Klassen finden, muss der Classpath auf die .jar-Datei verweisen. Hierfür gibt es zwei Möglichkeiten:

Methode A: Temporär beim Kompilieren und Ausführen (Empfohlen)

Gib den Pfad zur JAR-Datei direkt mit dem Parameter -cp (oder -classpath) an. Hinweis: Der Punkt . bindet das aktuelle Arbeitsverzeichnis mit ein; unter Linux werden Pfade durch einen Doppelpunkt : getrennt.

1. Kompilieren:

javac DatabaseTest.java

(Das Kompilieren funktioniert meist auch ohne Classpath, da im Code nur Standard-Schnittstellen aus java.sql verwendet werden).

2. Ausführen:

java -cp .:/usr/share/java/mysql-connector-java.jar DatabaseTest

Methode B: Dauerhaft über eine Umgebungsvariable

Wenn du den Parameter nicht jedes Mal manuell tippen möchtest, kannst du die Umgebungsvariable CLASSPATH in deiner Shell-Konfiguration hinterlegen:

  1. Öffne die Konfigurationsdatei deines Benutzers:

    nano ~/.bashrc
  2. Füge ganz am Ende der Datei folgende Zeile ein:

    export CLASSPATH=".:/usr/share/java/mysql-connector-java.jar:$CLASSPATH"
  3. Lade die Konfiguration neu:

    source ~/.bashrc
  4. Nun kannst du das Programm ohne zusätzliche Parameter ausführen:

    java DatabaseTest

Schritt 5: Ergebnis überprüfen

Wenn alles richtig konfiguriert wurde, liefert das Terminal die folgende Ausgabe:

Verbindung zur Datenbank wird aufgebaut...
Erfolg: Verbindung zur MySQL-Datenbank hergestellt!

Typische Fehlerbehebung

  • ClassNotFoundException: com.mysql.cj.jdbc.Driver: Der Pfad zur JAR-Datei im Classpath ist fehlerhaft oder die Datei existiert nicht unter /usr/share/java/mysql-connector-java.jar.
  • Access denied for user 'testuser'@'localhost': Benutzername oder Passwort im Java-Code stimmen nicht mit den Rechten in MySQL überein.
  • CommunicationsException: Communications link failure: Der MySQL-Dienst läuft nicht. Starte ihn mit sudo systemctl start mysql.
0