• 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

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.1m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318.1k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.8k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.1k views
  • Cara Reset Password ZTE F609 Indihome 147.5k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.5k views

Kategori

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

Sponsor

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