Mysql
 sql >> Database >  >> RDS >> Mysql

Connetti a MariaDB dall'applicazione Java in NetBeans su Linux (Mageia)

Sembra che tu stia cercando di usare jdbc:mariadb://... per stabilire una connessione a un'istanza del server MariaDB utilizzando MySQL JDBC Driver. Probabilmente non funzionerà perché il driver MySQL JDBC userebbe jdbc:mysql://... , indipendentemente dal fatto che si stia connettendo a un server MySQL oa un server MariaDB. Ovvero, la stringa di connessione deve corrispondere al driver che viene utilizzato (piuttosto che al server di database a cui si accede).

I driver MySQL e MariaDB dovrebbero essere in qualche modo intercambiabili, ma sembra prudente usare il connettore MariaDB solo quando si accede a un server MariaDB. Per quel che vale, la combinazione di mariadb-java-client-1.1.7.jar

e

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

ha funzionato per me. Ho scaricato la libreria client MariaDB per Java da qui:

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

a cui sono arrivato tramite

https://downloads.mariadb.org/

Note aggiuntive:

  1. Non è necessario un Class.forName() dichiarazione nel codice Java.

  2. La configurazione predefinita per MariaDB sotto Mageia può includere skip-networking direttiva in /etc/my.cnf . Dovrai rimuovere (o commentare) quella direttiva se vuoi connetterti al database tramite JDBC perché le connessioni JDBC sembrano sempre connessioni di "rete" a MySQL/MariaDB, anche se sono connessioni da localhost . (Potrebbe essere necessario modificare bind-address valore a qualcosa come 0.0.0.0 anche.)