sql >> Database >  >> RDS >> Mysql

Maak verbinding met MariaDB vanuit de Java-toepassing in NetBeans op Linux (Mageia)

Het lijkt erop dat u jdbc:mariadb://... . probeert te gebruiken om een ​​verbinding met een MariaDB-serverinstantie tot stand te brengen met behulp van het MySQL JDBC-stuurprogramma. Dat zal waarschijnlijk niet werken omdat het MySQL JDBC-stuurprogramma jdbc:mysql://... zou gebruiken , ongeacht of het verbinding maakt met een MySQL-server of een MariaDB-server. Dat wil zeggen, de verbindingsreeks moet overeenkomen met de driver die wordt gebruikt (in plaats van de databaseserver die wordt benaderd).

De MySQL- en MariaDB-stuurprogramma's zouden enigszins uitwisselbaar moeten zijn, maar het lijkt alleen verstandig om de MariaDB-connector te gebruiken bij toegang tot een MariaDB-server. Voor wat het waard is, de combinatie van mariadb-java-client-1.1.7.jar

en

Connection con = DriverManager.getConnection(
        "jdbc:mariadb://localhost/project", 
        "root", 
        "whatever");

werkte voor mij. Ik heb de MariaDB Client Library voor Java hier gedownload:

https://downloads.mariadb.org/client-java/1.1.7/

waar ik op uitkwam via

https://downloads.mariadb.org/

Aanvullende opmerkingen:

  1. Er is geen behoefte aan een Class.forName() statement in uw Java-code.

  2. De standaardconfiguratie voor MariaDB onder Mageia kan de skip-networking . bevatten richtlijn in /etc/my.cnf . U moet die richtlijn verwijderen (of uit commentaar plaatsen) als u via JDBC verbinding wilt maken met de database, omdat JDBC-verbindingen er altijd uitzien als "netwerk"-verbindingen met MySQL/MariaDB, zelfs als het verbindingen zijn van localhost . (Mogelijk moet u het bind-address aanpassen waarde naar iets als 0.0.0.0 ook.)



  1. Vier dingen die u niet wist over Amazon Aurora

  2. Hoe de volledige zoekopdracht te zien van PROCESSLIST TOON

  3. Meerdere query's uitvoeren met een enkel JDBC Statement-object

  4. Wat zijn de voordelen van het maken van opgeslagen procedures in SQL en MySQL?