1. Download (Platform independent)
https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector
java -version
dnf install java-17-openjdk-devel -y # CentOS 9
2. check login mariadb
[root@teguhth ~]# mysql -h 10.10.10.90 -uadmin -p teguhth
mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 20
Server version: 11.4.4-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [teguhth]> exit
Bye
[root@teguhth ~]#
[root@teguhth ~]# mysql -uadmin -p teguhth
mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 21
Server version: 11.4.4-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [teguhth]>
3. create script java
[root@teguhth simulation]# cat MariaDBTest.java
import java.sql.*;
public class MariaDBTest {
public static void main(String[] args) {
String url = "jdbc:mariadb://10.10.10.90:3306/teguhth"; // IP salah (simulasi error)
String user = "admin";
String pass = "admin";
try {
Connection conn = DriverManager.getConnection(url, user, pass);
System.out.println("Koneksi berhasil.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
[root@teguhth simulation]#
4. run script
javac -cp .:mariadb-java-client-3.5.3.jar MariaDBTest.java
5. after create class run
javac -cp .:mariadb-java-client-3.5.3.jar MariaDBTest.java
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
[root@teguhth simulation]# ls
last mariadb-java-client-3.5.3.jar MariaDBTest.class MariaDBTest.java mysql
[root@teguhth simulation]#
[root@teguhth simulation]# javac -cp .:mariadb-java-client-3.5.3.jar MariaDBTest.java
[root@teguhth simulation]# java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
Koneksi berhasil.
[root@teguhth simulation]#
6. if fail (misalkan buat salah ip, port, dll)
[root@teguhth simulation]# javac -cp .:mariadb-java-client-3.5.3.jar MariaDBTest.java
[root@teguhth simulation]# java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java.sql.SQLNonTransientConnectionException: Socket fail to connect to 10.10.10.9. No route to host
at org.mariadb.jdbc.client.impl.ConnectionHelper.connectSocket(ConnectionHelper.java:131)
at org.mariadb.jdbc.client.impl.StandardClient.<init>(StandardClient.java:125)
at org.mariadb.jdbc.Driver.connect(Driver.java:75)
at org.mariadb.jdbc.Driver.connect(Driver.java:104)
at org.mariadb.jdbc.Driver.connect(Driver.java:29)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)
at MariaDBTest.main(MariaDBTest.java:11)
Caused by: java.net.NoRouteToHostException: No route to host
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:633)
at org.mariadb.jdbc.client.impl.ConnectionHelper.connectSocket(ConnectionHelper.java:118)
... 7 more
[root@teguhth simulation]#
7. if success
[root@teguhth simulation]# javac -cp .:mariadb-java-client-3.5.3.jar MariaDBTest.java
[root@teguhth simulation]# java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
Koneksi berhasil.
[root@teguhth simulation]#
[root@teguhth simulation]#
[root@teguhth simulation]# java -cp .:mariadb-java-client-3.5.4.jar MariaDBTest
java.sql.SQLException: No suitable driver found for jdbc:mariadb://10.10.10.9:3306/teguhth
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:706)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)
at MariaDBTest.main(MariaDBTest.java:11)
[root@teguhth simulation]#
#!/bin/bash
# Menyimpan waktu mulai dalam format manusiawi
# For Test
# timedatectl set-time "2020-03-22 08:34:00"
datex=$(date "+%Y-%m-%d %H:%M:%S.%N")
#epoch_start='1580390912'
epoch_start=$(date +%s) # Gunakan detik saja, jangan nanodetik
echo "$datex ->>> Start Process"
# For Test
# timedatectl set-time "2025-01-31 08:34:00"
# vmware-toolbox-cmd timesync enable
######## Script Begin ########
echo "run 10x 'java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest' using MariaDB Java 8+ Connector"
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar MariaDBTest
######## Script Finish ########
# Menyimpan waktu selesai dalam format manusiawi
datey=$(date "+%Y-%m-%d %H:%M:%S.%N")
epoch_end=$(date +%s) # Gunakan detik saja
#epoch_end='1738253312'
echo "$datey ->>> Finish Process"
# Menghitung selisih waktu dalam detik
finish=$((epoch_end - epoch_start))
# Menghitung hari, jam, menit, dan detik
days=$((finish / 86400))
hours=$(((finish % 86400) / 3600))
minutes=$(((finish % 3600) / 60))
seconds=$((finish % 60))
# Konversi ke tahun, bulan, hari, jam, menit, dan detik
yearsx=$((finish / 31536000)) # 1 tahun = 365 * 24 * 3600 detik
remaining=$((finish % 31536000))
monthsx=$((remaining / 2592000)) # 1 bulan = 30 * 24 * 3600 detik
remaining=$((remaining % 2592000))
daysx=$((remaining / 86400)) # 1 hari = 86400 detik
remaining=$((remaining % 86400))
hoursx=$((remaining / 3600)) # 1 jam = 3600 detik
remaining=$((remaining % 3600))
minutesx=$((remaining / 60)) # 1 menit = 60 detik
secondsx=$((remaining % 60))
# Format output
formatted_time=$(printf "%d:%02d:%02d:%02d" "$days" "$hours" "$minutes" "$seconds")
# Format output
formatted_time2=$(printf "%d Tahun, %d Bulan, %d Hari, %02d:%02d:%02d" "$yearsx" "$monthsx" "$daysx" "$hoursx" "$minutesx" "$secondsx")
echo "Duration Process"
echo "Start : $datex"
echo "Finish : $datey"
echo "Duration 1 : $formatted_time"
echo "Duration 2 : $formatted_time2"
echo ""
echo "Copyright by : Teguh Triharto"
echo "Website : https://www.linkedin.com/in/teguhth"
echo ""
[root@teguhth simulation]#
No comments:
Post a Comment