Revoke dan Grant pada MySQL


1. REVOKE
Revoke merupakan kebalikan dari perintah grant yaitu menghapus atau mencabut kembali izin akses user MySQL yang sebelumnya telah diberikan. Tingkat pilihan yang dapat digunakan juga sama dengan perintah grant sehingga semua izin akses dengan grant dapat dicabut kembali.
Menghapus Akses Penuh
mysql> revoke all on *.* from nm_user@localhost identified by ‘nm_passwd’;
Perintah diatas membuat salah satu user tidak mempunyai izin akses lagi. Meski sudah dicabut aksesnya user tersebut masih dapat login ke database MySQL tapi tidak perlu khawatir karena user tersebut tidak bisa berbuat apa-apa lagi.
Menghapus Akses Database
mysql> revoke all on nm_db.nm_tbl from nm_user@localhost identified by ‘nm_passwd’; 
Perintah diatas izin akses user pada tabel tertentu telah dicabut sehingga tidak bisa mengakses kembali.
Menghapus Akses Kolom
mysql> revoke update(nama) on nm_db.nm_tbl from nm_user@localhost identified by ‘nm_passwd’; 
Peintah diatas akan mencabut akses untuk kolom yang telah ditentukan sebelumnya.
2. GRANT
Grant merupakan perintah untuk memberikan hak izin akses bagi user di MySQL agar dapat mengakses database, tabel dan kolom. Selain itu juga dapat menambahkan user baru dengan perintah Grant ini. Ada hal yang harus diperhatikan jika melakukan perubahan izin akses pada user MySQL yang masih aktif bekerja tidak langsung bisa menerapkan perubahan meski sudah melakukan flush privileges. Konfigurasi ini berlaku ketika user sudah menutup koneksi kemudian melakukan koneksi kembali.
Izin akses penuh ini digunakan untuk mengakses seluruh database dalam server. Untuk memberikan izin Anda harus terlebih dahulu memilih database mysql dengan perintah use. Selanjutanya lakukan perintah berikut :
mysql> use mysql;
mysql> grant all privileges on * to nm_user@localhost identified by ‘nm_passwd’ with grand option;
Perintah diatas akan memeberikan izin akses penuh setara dengan root. Sebaiknya hal ini tidak boleh dilakukan.Option Identified By nama password akan menerapkan user tersebut agar tetap memasukkan password saat mengakses database. Jika anda tidak memberikan option password maka user tersebut dapat mengakses database tanpa password.
Penyertaan With Grand Option akan memberikan hak penuh pada user sehingga user tersebut juga mampu melakukan perintah Grant tertentu pada user lainnya. Namun terdapat kekurangan ketika kita sebelumnya tidak memilih database MySQL maka server akan mengabaikan akses Reload, Shutdown, Process, File dan Grant. Berikut ini contoh jika kita tidak menyertakan option password.
mysql> grant all on *.* to nm_user_baru@localhost;
Perintah diatas akan memasukan user dengan menggunakan perintah Grant ini karena sebelumnya user tersebut belum ada. Serta memperbolehkan user tersebut untuk mengakses database tanpa password. Agar tidak terjadi sesuatu sebaiknya jangan melakukan hal ini.

0 komentar:

Posting Komentar