• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Shell Script Tes Koneksi MySQL/MariaDB

Last Updated on 20 February 2020 By tommy 1 Comment

Daripada bergantung ke aplikasi untuk mengetahui koneksi ke MySQL server berhasil, ada baiknya dibuat script helper sederhana. Alasannya dengan bergantung ke aplikasi banyak dependency yang harus di install, tidak mudah membuat batas berapa lama mysql client mencoba untuk terhubung ke server, menampilkan pesan untuk user sebagai informasi.

Format standart MySQL client

mysql -h HOST -P PORT -u USER -pPASSWORD DATABASE

format ini juga yang akan kita gunakan. Kita buat shell script konek-mysql.sh, dengan membuat HOST,PORT,USER,PASSWORD dan DATABASE sebagai variable

#!/usr/bin/env bash
MYSQL_SERVER="192.168.1.1"
MYSQL_PORT="3306"
MYSQL_USER="jaranguda"
MYSQL_DATABASE="devops"
MYSQL_PASSWORD="ErbjsbbMe3eAg9zapvLz"
 
mysql -h $MYSQL_SERVER -P $MYSQL_PORT -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE

coba jalankan cript diatas.

bash konek-mysql.sh

muncul masalah pertama. Kita langsung membuka MySQL shell, tujuan utama adalah untuk konek ke server MySQl untuk mengetahui status server, cara ini kurang fleksibel. Karena MySQL dapat menerima input dari STDIN, maka bisa kita modifikasi menjadi

#!/usr/bin/env bash
MYSQL_SERVER="192.168.1.1"
MYSQL_PORT="3306"
MYSQL_USER="jaranguda"
MYSQL_DATABASE="devops"
MYSQL_PASSWORD="ErbjsbbMe3eAg9zapvLz"
 
echo "status" | mysql -h $MYSQL_SERVER -P $MYSQL_PORT -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE

Jalankan lagi script diatas, muncul status MySQL, dan script langsung dihentikan. Cara ini jauh lebih mudah, tidak perlu memikirkan bagaimana cara keluar dari mysql shell, exit code dan lain sebagainya.

mysql  Ver 15.1 Distrib 10.3.21-MariaDB, for Linux (x86_64) using readline 5.1
 
Connection id:		11
Current database:	devops
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server:			MariaDB
Server version:		10.3.21-MariaDB-log MariaDB Server
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			41 min 34 sec
 
Threads: 7  Questions: 228  Slow queries: 0  Opens: 45  Flush tables: 1  Open tables: 39  Queries per second avg: 0.091
--------------

Dari sini muncul lagi pertanyaan, bagaimana jika servernya tidak ada respond? Dari percobaan saya mysql akan menyerah setelah 2 menit. tambahkan date didepan, biar bisa dilihat berapa lama script tersebut dieksekusi.

ERROR 2002 (HY000): Can't connect to MySQL server on '192.168.1.1' (115)
 
real	2m11.449s
user	0m0.007s
sys	0m0.005s

bagaimana bila kita set maksimal 2 detik saja, lalu menampilkan pesan error bila tidak terhubung dalam 2 detik tersebut

#!/usr/bin/env bash
MYSQL_SERVER="192.168.1.1"
MYSQL_PORT="3306"
MYSQL_USER="jaranguda"
MYSQL_DATABASE="devops"
MYSQL_PASSWORD="ErbjsbbMe3eAg9zapvLz"
 
echo 'status' | timeout 2s mysql -h $MYSQL_SERVER -P $MYSQL_PORT -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE || echo "Give up! I cant access MySQL server!"

hasilnya sesuai dengan harapan

> time bash konek-mysql.sh 
Cant reach MySQL server!
 
real	0m2.009s
user	0m0.011s
sys	0m0.006s

bila server bisa diakses, akan tetap menampilkan status dari database server.

Tulisan menarik lainnya

  • Tutorial Koneksi PHP dengan MySQL

    Dibawah ini akan dijelaskan mengenai cara untuk mengkoneksikan PHP ke database MySQL. Tulis script dibawah…

  • Script Autocomplete PHP MySQL Jquery

    Sebagai contoh untuk mempermudah pembelajaran ini, kita akan membuat script pencarian kata. Buat terlebih dahulu…

  • Menjalankan Shell Script dari Crontab

    Waktu menjalankan (bash) shell script langsung dari terminal bisa jalan, tetapi waktu crontab tidak bisa?…

  • Membuat Script Login dengan PHP dan MySQL

    Update 13 Feb 2014 PHP + MySQLi bisa dilihat di Membuat Script Login Sederhana dengan…

Filed Under: Linux

Reader Interactions

Comments

  1. Rudy Khoiruddin says

    20 February 2020 at 08:23

    kalo pake script batch nya windows…
    gimana om?

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Solusi AWS CLI SSL VALIDATION failed
  • Monitoring Kubernetes Cluster dengan Prometheus
  • Solusi Playwright Firefox version `GLIBCXX_3.4.30′ not found (required by /lib64/libicuuc.so.69)
  • Cara Upgrade Fedora 35 ke Fedora 36
  • Ekstrak Gzip File dan Ambil Total dengan Python

Komentar

  • Xpud on Script PHP untuk Mengambil History Lagu Shoutcast v2.5
  • Jrenx on Membuat Bot Telegram Sederhana dengan PHP
  • Sella on Kemana Menghilangnya Saldo BCA 50 ribu
  • Rian on Mengganti Halaman Error Laravel
  • Suchie on Kemana Menghilangnya Saldo BCA 50 ribu

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1m views
  • Password Terbaru ZTE F609 Indihome 781.5k views
  • Password Superadmin Huawei HG8245A 294.4k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 267.8k views
  • Cara Setting Wireless ZTE F609 Indihome 251k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 165.4k views
  • Akses UseeTV Indihome via Wireless ZTE F609 154.8k views
  • Cara Reset Password ZTE F609 Indihome 146k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 135.3k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 109k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java