Kuyy belajar Data Control Language (DCL)

           Data Control Language

    Data Control Language (DCL) adalah sub query pada Mysql yang digunakan untuk melakukan pengontrolan data dan server dalam database.

        Perintah DCL meliputi Grant dan Revoke. Grant untuk memberikan hak akses atau hak istimewa terhadap user pengguna, tidak harus semua pengguna database dapat mengakses seluruhnya, tetapi tergntuk hak apa yang diberikan penngguna. sedangkan Revoke berfungsi untuk menarik atau mencabut hak akses yang telah diberikan lewat perintah Grant.


~Contoh kasus DCL~

Tugas pertemuan praktik 11


 Membuat user baru

   #_# User baru digunakan untuk mempermudah pengerjaan dalam sebuah database dengan fokusnya masing- masing. yaitu dengan query;
mysql-> create user 'username'@'localhost' identified by 'password';

G.1 membuat user baru

maka user baru dengan nama yang kita tentukan telah berhasil dibuat dengan tanda query ok.

Melihat hak akses

   #_# Kita coba cek hak akses yang ada pada user baru kita dengan perintah query;
mysql-> show grants for 'username'@'localhost';

G.2 menampilkan hak akser user baru

maka ketika pertama membuat user baru hak akses belum ada yang diberikan.

Memberikan hak akses

    #_# Sekarang kita akan memberikan hak akses terhadap user baru. yaitu dengan query;
mysql-> grant insert on sbd.* to 'username'@'localhost';

G.3 pemberian hak akses pada user baru ulilwafa

artinya yaitu kita memberikan hak akses insert pada database sbd dengan semua tabel yang ada di host untuk diberikan user baru. 

Melakukan flush privileges

     #_# Perintah flush privileges adalah suatu perintah untuk mengaktifkan perubahan-perubahan yang terjadi pada user, seperti hak akses, penggantian password pada user, dsb. hampir sama dengan fungsi refresh pada laptop. dengan query;
mysql-> flush privileges;

Kita cek lagi hak akses pada user baru, apakah ada perbedaan tidak. dengan perintah query;
mysql-> show grants for 'username'@'localhost';

G.4 flush privileges dan menampilkan hak akses

nahh kita berhasil memberikan hak insert pada user, namun untuk melakukan perintah lainnya.


~pengujian hak akses~

    User dengan nama baru yang kita buat berhasil ditambahkan, dengan itu pengguna mampu mengakses apa saja yang telah diberikann root selaku localhost. 
Sekarang kita uji coba dengan masuk pada user yang kita buat tadi, dengan perintah query;
mysql -u username -p password (note: penulisan -p dan password digabung -pulilwpa)

G.5 login pada user ulilwafa

maka kita akan langsung bisa masuk pada user baru yang telah kita buat, dan ketika ditampilkan databases, maka database sbd saja yang akan tampil, karena tadi kita hanya memberikan hak akses insert pada database sbd ke pengguna ulilwafa. 

    untuk membuka pada tabel yang ada di database sbd kita tidak bisa karena, kita tidak memberikan hak akses select terhadap user ulilwafa. sekaranng mari kita beri hak akses select dan juga insert terhadap user ulil wafa dengan query;
mysql-> grant insert, select on sbd.* to 'username'@'localhost';
note: untuk memberikan hakses kita harus masuk user root terlebih dahulu selagi localhost.

G.6 memberikan hak akses select dan insert pada user root

maka kita dapat membuka dan memasukkan insert pada database sbd sesuai hak akses yang diberikan.

Sekarang kita coba dengan memasukkan data dan membukannya pada user ulilwafa.
cara memasukkan data sam dengan DML Insert dan Select jika lupa silahkan pelajari kembali.

G.7 insert dan select pada user ulilwafa

G.8 percobaan update yang belum diberi hak akses

kita berhasil input dan select pada user ulilwafa, namun untuk update data tidak bisa. karena tidak ada hak aksesnya.

maka kita perlu memberi hak akses update kepada user ulilwafa dengan masuk pada user root terlebih dahulu. dengan query;
mysql->grant update on sbd.* to 'username'@'localhost'; 
G.9 memberikan hak akses update pada user root

sekarang user ulilwafa dapat memilih, menginput, dan mengupdate database sbd pada localhost.
G.10 pengujian hak update pada user ulilwafa

Dalam hak akses user baru kita juga bisa memberikan hak akses sepenuhnya terhadap user baru dengan perintah query;
mysql-> grant all privileges on sbd.* to 'username'@'localhost';
G.11 memberikan hak akses sepenuhnya pada user baru ulilwafa

Dengan adanya all priveleges ini kita mampu melakukan apa saja sperti alter, delete,dsb layaknya menggunakan user root. 

Mencabut hak akses

    Dalam mencabut hak akses kita menggunakan query revoke, dimana kita akan mencabut semuanya atau sebagian hak akses yang telah diberikan pada user baru.
perintah revoke dengan query;
mysql-> revoke all on sbd.* from 'username'@'localhost'; 
atau jika sebagian
mysql-> revoke select, insert on sbd.* from 'username'@'localhost'; 

G.12 mencabut hak akses user baru

Pencabutan hak akses telah berhasil jika ditampilkan hak akses maka untuk hak akses pada user baru akan terhapus.


~selesai~

jika ada sesuatu yang ingin disampaikan silahkan tinggal pada kolom komentar. 


Sama-sama berlatih agar saling bermanfaat.

cukup sekian wassalamualaikum wr.wb


Komentar

Postingan populer dari blog ini

Cara Membuat Database di Laragon MySQL via cmd atau terminal

Contoh kasus DML pada database