Powered By Blogger

Sabtu, 06 Maret 2010

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.

1 komentar:

  1. Terima kasih ya Violita, yang lupa jadi ingat lagi deh.. maklum saya mulai tua nih.. jadi perintah SQL mulai lupa.. hehehe.. salam kenal ya.. kontak saya di: harrywitriyono@gmail.com atau FB: harry witriyono
    Sekali lagi sukses ya.. dan terima kasih.

    BalasHapus