Tampaknya Anda mencoba menggunakan jdbc:mariadb://...
untuk membuat koneksi ke instance server MariaDB menggunakan MySQL JDBC Driver. Itu mungkin tidak akan berhasil karena Driver JDBC MySQL akan menggunakan jdbc:mysql://...
, terlepas dari apakah itu terhubung ke server MySQL atau server MariaDB. Artinya, string koneksi harus cocok dengan driver yang sedang digunakan (bukan server database yang sedang diakses).
Driver MySQL dan MariaDB seharusnya agak dapat dipertukarkan, tetapi tampaknya bijaksana untuk menggunakan konektor MariaDB saat mengakses server MariaDB. Untuk apa nilainya, kombinasi mariadb-java-client-1.1.7.jar
dan
Connection con = DriverManager.getConnection(
"jdbc:mariadb://localhost/project",
"root",
"whatever");
bekerja untuk saya. Saya mengunduh Pustaka Klien MariaDB untuk Java dari sini:
https://downloads.mariadb.org/client-java/1.1.7/
yang saya tuju melalui
https://downloads.mariadb.org/
Catatan tambahan:
-
Tidak perlu
Class.forName()
pernyataan dalam kode Java Anda. -
Konfigurasi default untuk MariaDB di bawah Mageia mungkin termasuk
skip-networking
direktif di/etc/my.cnf
. Anda harus menghapus (atau mengomentari) direktif tersebut jika Anda ingin terhubung ke database melalui JDBC karena koneksi JDBC selalu terlihat seperti koneksi "jaringan" ke MySQL/MariaDB, meskipun koneksi darilocalhost
. (Anda mungkin perlu mengubahbind-address
nilai untuk sesuatu seperti0.0.0.0
juga.)