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 |
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 |
kita berhasil input dan select pada user ulilwafa, namun untuk update data tidak bisa. karena tidak ada hak aksesnya.
mysql->grant update on sbd.* to 'username'@'localhost';
Dalam hak akses user baru kita juga bisa memberikan hak akses sepenuhnya terhadap user baru dengan perintah query;
![]() |
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
Posting Komentar