Halo, jumpa lagi. Postingan ini merupakan lanjutan dari postingan saya sebelumnya yaitu "Mengenal DDL, DML, DCL, DQL, dan TCL". Di postingan itu saya telah membahas pengertian beserta contoh perintah atau command di masing-masing kategori.
Di kesempatan kali ini, saya akan membagikan bagaimana menyelesaikan sebuah studi kasus yang berhubungan dengan DCL atau Data Control Language pada MySQL. Apa yang harus kita lakukan langkah demi langkah beserta command line yang harus kita jalankan.
Studi Kasus
Anda adalah seorang senior database administrator di perusahaan "A". Suatu hari, perusahaan tersebut menerima seorang junior database administrator bernama "Budi". Lalu, atasan Anda meminta untuk memberikan akses ke server database untuk Budi dengan privileges DML namun tidak dapat menghapus data di database tersebut. Nama database yang dimaksud adalah hr.
Penyelesaian
Dari studi kasus di atas, kita dapat melakukan administratif database seperti berikut
Login sebagai root
Langkah pertama yang harus kita lakukan yaitu login sebagai root mysql.
Perintah yang kita gunakan yaitu
mysql -u root -p
Perintah tersebut artinya adalah kita memanggil perintah mysql diikuti dengan parameter user dengan disingkat menjadi -u lalu diikuti username, setelah itu diikuti parameter -p yaitu password. Setelah mengetikkan perintah tersebut di terminal atau cmd, tekan enter. Kemudian terdapat prompt untuk memasukkan password. Kita masukkan password root kita. Lalu, tekan enter kembali.
Jika berhasil, maka kita akan masuk ke interface dari mysql.
Membuat user untuk Budi
Selanjutnya, kita buat user baru untuk budi dengan username budi dan password login4j4. User tersebut bisa login dari semua IP atau host. Perintah yang dapat kita gunakan yaitu seperti ini
CREATE USER 'budi'@'%' IDENTIFIED BY 'login4j4';
Memberikan hak akses DML
Selanjutnya, kita tinggal memberikan hak akses DML kecuali privileges delete ke user budi tersebut. Perintah yang dapat kita gunakan yaitu
GRANT SELECT, INSERT, UPDATE ON db_hr.* to 'budi'@'%' ;
Perintah tersebut berarti kita memberikan akses melihat, memasukkan dan memperbarui data untuk user budi di database db_hr di semua table.
Tekan enter lalu diikuti perintah
GRANT PRIVILEGES;
Sampai di sini tugas kita selesai untuk memberikan akses ke budi sesuai permintaan atasan kita tadi. Selanjutnya info login user budi dapat kita berikan ke Budi ataupun dapat kita coba terlebih dahulu dengan login sebagai user budi tersebut.
Kesimpulan
MySQL merupakan database yang sangat populer saat ini dan telah mendukung DCL secara default. Kita dapat memberikan berbagai privileges kepada user, salah satunya yaitu privileges DML (select, insert, update, delete). Untuk melakukan hal tersebut, kita harus menggunakan user root dimana user tersebut memiliki hak akses tertinggi.
---