MENGELOLA USER DASAR TEORI Setiap objek basis data ( database object ) selalu mempunyai user. User pada basis data tidak sama...
MENGELOLA USER
DASAR TEORI
Setiap objek basis data ( database object ) selalu mempunyai user. User pada basis data tidak sama dengan user yang ada pada system operasi sehingga meskipun anda mempunyai user system operasi, anda tidak otomatis mempunyai hak akses terhadap basis data di MySQL. User ini bisa dibuat oleh user lain yang mempunyai kewenangan dalam hal ini ( secara software ). Pada saat membuat user, bisa sekaligus ditentukan apakah user yang akan dibuat tersebut mempunyai kewenangan untuk membuat user lain serta berbagai kewenangan lain ( misalnya membuat basis data ). Perintah yang digunakan untuk membuat user seperti sintak berikut ini.
Membuat user dari MySQL prompt
MySQL menyediakan perintah create user untuk membuat user langsung dari MySQL prompt. Bentuk umum perintah Create User sebagai berikut :
CREATE USER user [ IDENTIFIED BY [PASSWORD] ‘ password ‘]
[, user [IDENTIFIED BY [PASSWORD] ‘ password ‘]]...
Perintah membuat akun baru dari MySQL dengan perintah create user. Untuk menggunakannya, Anda harus mempunyai privilege ( hak ) create user global atau hak insert pada basis data MySQL tersebut. Setiap akun baru yang dibuat akan disimpan kedalam tabel MySQL, user yang belum diberikan hak.
Akun dapat diberikan suatu password dengan klausa pilihan IDENTIFIED BY. Nama user dan password dapat diberikan menggunakan perintah GRANT.
Contoh membuat user dengan nama userbaru :
mysql> create user userbaru;
Query OK, 0 rows affected <0.01 sec>
Untuk memeriksa apakah user tersebut sudah masuk atau belum dapat dilakukan sebagai berikut :
mysql> use mysql;
Database changed
mysql> select host, user, password from user;
+-----------+----------+------------------+
| host | user | password |
+-----------+----------+------------------+
| localhost | root | 67457e226a1a15bd |
| % | totok | |
| % | userbaru | |
| % | baru | |
+-----------+----------+------------------+
Mengatur hak akses dari MySQL prompt
Ada dua perintah SQL untuk mengatur hak akses dari user, yaitu :
¨ Grant
Adalah perintah yang digunakan untuk memberikan hak akses kepada user dan disimpan dalam akun mysql.
¨ Revoke
Adalah perintah yang digunakan untuk mencabut hak akses user dari akun mysql.
PEMBAHASAN
Dalam praktikum kali ini akan dibahas mengenai bagaimana cara membuat dan mengelola sebuah user dalam MySQL. Untuk lebih jelasnya maka kita akan langsung membahas praktikum yang telah dilaksanakan dalam kegiatan praktikum di lab.
Di dalam praktikum ini pertama yang akan dilakukan adalah membuat akun baru. Langkah pertama sebelum membuat akun baru atau userbaru dalam MySQL dengan menggunakan perintah create user, harus memiliki hak create user global atau hak insert pada basis data MySQL. Setelah mempunyai hak untuk membuat user baru maka langkah selanjutnya adalah membuka program mysql kemudian menuliskan scrip seperti berikut.
mysql> create user userbaru;
Query OK, 0 rows affected (0.05sec)
Setiap akun baru akan disimpan ke dalam tabel mysql. Setelah menuliskan perintah di atas jika berhasil maka akan muncul Query OK seperti di atas. Untuk mengetahui apakah akun baru telah tersimpan atau belum maka dapat dilihat melalui cara sebagai berikut.
mysql> use mysql;
Database changed
mysql> select host, user, password from user;
Setelah mengetikkan use mysql seperti diatas maka jika berhasil maka akan muncul tulisan Database Changed di bawahnya, maka langkah selanjutnya adalah mengetikkan select host seperti script di atas. Maka setelah selesai mengetikkan perintah di atas maka akan muncul hasil seperti di bawah ini jika perintah benar.
+-------------+----------+--------------------------------------------+
| host | user | password |
+-------------+----------+--------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| % | userbaru | |
+-------------+----------+--------------------------------------------+
2 rows in set (0.00 sec)
Langkah selanjutnya adalah memberikan hak akses kepada user. Jika ingin memberikan hak akses kepada user yang disimpan dalam aku mysql dapat meggunakan perintah sebagai berikut, ada dua perintah untuk memberikan hak akses yaitu GRANT dan REVOKE. Grant digunakan untuk memberikan hak akses kepada user yang telah disimpan dalam akun mysql, sedangkan Revoke digunakan untuk mencabut hak akses user dari akun mysql. Untuk lebih jelas dapat dilihat seperti perintah berikut ini.
mysql> use akademik;
Database changed
mysql> grant all on akademik *to ‘akademik’@’%’;
Query OK, 0 rows affected (0.06 sec)
Sintak di atas yang akan diberi jak akses penuh dalam user adalah tabel akademik. Jika kita akan melihat apakah hak tersebut talah berhasil adalah dengan mengetikkan sintak seperti berikut.
mysql> desc mhs;
Maka akan muncul tabel seperti di bawah ini. Kita dapat mengakses data mhs.
+---------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| nim | char(9) | NO | PRI | | |
| nama | varchar(30) | YES | | NULL | |
| kelamin | enum('L','P') | YES | | NULL | |
| tglahir | date | YES | | NULL | |
| jurusan | char(2) | YES | | NULL | |
| ipkum | decimal(4,2) | YES | | NULL | |
+---------+---------------+------+-----+---------+-------+
6 rows in set (0.03 sec)
Perintah dibawah adalah akan memberikan hak akses kepada user disimpan dalam akun mysql.
mysql> grant select(nim), insert (nama,kelamin) on akademik.mhs to akademik;
Query OK, 0 rows affected (0.02 sec)
Kemudian jika hak akses di dalam tabel akademik yang telah diberikan hak akses penuh, dengan cara menuliskan sintak Revoke. Sintaknya seperti berikut.
mysql> revoke all on akademik.*from ‘akademik’@’%’;
Query OK, 0 rows affected (0.03 sec)
Jika kita mengetikkan sintak revoke seperti di atas maka hak akses pada mata kuliah di dalam tabel akademik telah dicabut, dengan kata lain mhs di dalam tabel akademik sudah tidak dapat diakses oleh user kembali.
COMMENTS