How can I connect to mariadb using java?
public class ConnectionDemo {
String userName,password,url,driver;
Connection con;
Statement st;
public ConnectionDemo() {
userName="root";
password="root";
url="jdbc:mariadb://localhost:3306/stud";
driver="org.mariadb.jdbc.Driver";
try {
Class.forName(driver);
con=DriverManager.getConnection(url, userName, password);
st=con.createStatement();
System.out.println("Connection is successful");
} catch (Exception e) {
e.printStackTrace();
}
}
Java MariaDB example:
//STEP 1. Import required packages
package mariadb;
import java.sql.*;
public class Mariadb {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver";
static final String DB_URL = "jdbc:mariadb://192.168.100.174/db";
// Database credentials
static final String USER = "root";
static final String PASS = "root";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
//STEP 2: Register JDBC driver
Class.forName("org.mariadb.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(
"jdbc:mariadb://192.168.100.174/db", "root", "root");
System.out.println("Connected database successfully...");
//STEP 4: Execute a query
System.out.println("Creating table in given database...");
stmt = conn.createStatement();
String sql = "CREATE TABLE REGISTRATION "
+ "(id INTEGER not NULL, "
+ " first VARCHAR(255), "
+ " last VARCHAR(255), "
+ " age INTEGER, "
+ " PRIMARY KEY ( id ))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database...");
} catch (SQLException se) {
//Handle errors for JDBC
se.printStackTrace();
} catch (Exception e) {
//Handle errors for Class.forName
e.printStackTrace();
} finally {
//finally block used to close resources
try {
if (stmt != null) {
conn.close();
}
} catch (SQLException se) {
}// do nothing
try {
if (conn != null) {
conn.close();
}
} catch (SQLException se) {
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end JDBCExample
I use this example.I change the bind address to 127.10.230.440. and i restart the server sudo /etc/init.d/mysql start .
List item
I think the problem is with TCP/IP port . Mariadb is not listening to the local host.
You should try : Configure mariadb to listen on localhost.
In the /etc/my.cnf
config file, under the [mysqld] line, add the following:
bind-address = 127.10.230.440
Or try to disconnect the MYSQL database first.