MySQL adalah sistem manajemen basis data relasional open source yang telah ada selama beberapa waktu sekarang. Sebagian besar digunakan untuk mendukung blog berbasis web, CMSes, kalender dan alat kolaborasi online lainnya. Ini juga merupakan bagian penting dalam apa yang disebut arsitektur sistem LAMP, di mana LAMP menggambarkan:

  • Linux, kernel sistem operasi dasar
  • Apache, perangkat lunak open source webserver mengantarkan aplikasi
  • MySQL, perangkat lunak penyimpanan database
  • PHP, bahasa webscripting digunakan untuk menulis aplikasi

Karena basis software yang sangat populer ini, MySQL mendapat banyak perhatian dan pengguna selama bertahun-tahun terakhir. Ada banyak orang yang berpendapat bahwa MySQL lebih rendah dari penawaran open source lainnya seperti PostgreSQL dan dengan cara yang benar. MySQL baru saja menjadi paket perangkat lunak yang layak untuk mempercayai database

Pada artikel ini, yang akan diperbarui dari waktu ke waktu untuk menjadi sumber informasi utama tentang seluk beluk MySQL, saya akan menyajikan beberapa teknik yang akan membuat hidup teman-teman lebih mudah. Apalagi administrasi dan penyetelan database server akan dijelaskan.

Ada banyak alat profiling yang tersedia yang terintegrasi dengan baik ke dalam aplikasi yang teman-teman buat, namun sebagai DBA teman-teman sering tidak memiliki akses ke kode sumber program yang mengakses server database teman-teman. Untungnya, ada cara yang sangat sederhana untuk mengajukan pertanyaan pada tingkat dasar.

Tidak, saya tidak berbicara tentang log kueri yang lambat karena memerlukan kerumitan lebih dari yang dibutuhkan. Trik berikut bisa digunakan tanpa me-restart MySQL. Ingin tahu?

Jack dari semua perdagangan: mysqladmin
Trik sebenarnya terletak pada alat mysqladmin yang menawarkan berbagai fungsi. Dengan menjalankan perintah ini saja:

Teman-teman bisa melihat daftar perintah yang tersedia di bagian bawah output. Yang akan kita gunakan di sini adalah perintah processlist yang menunjukkan semua koneksi klien dan, yang lebih penting, apa yang dilakukan masing-masing koneksi.

Coba jalankan perintah berikut:

Seperti yang teman-teman lihat, tidak banyak yang terjadi di server pengujian saya. Tapi coba ini di sistem teman-teman sendiri dan teman-teman akan melihat banyak koneksi dan untuk setiap koneksi teman-teman dapat melihat kueri yang saat ini sedang diproses. Jika pernyataan muncul dipangkas, gunakan parameter baris perintah ‘-v’ untuk secara bertahap menerima lebih banyak pernyataan kueri.

Di kolom ‘waktu’ teman-teman dapat melihat berapa detik yang telah digunakan untuk memproses permintaan klien. Ini sangat penting untuk trik ini: dengan menggunakan kolom waktu, kita dapat dengan mudah menemukan pertanyaan lambat yang memakan waktu lebih lama dari lima detik. Lapisan gula pada kue datang dalam bentuk parameter ‘- sleep’ atau ‘-i’.