You are on page 1of 8

PRAKTIKUM ADMINISTRASI BASIS DATA

MANAJEMEN USER DAN HAK AKSES BASIS DATA

HASBULLAH MARWAN

425 15 044

TEKNIK ELEKTRO

PROGRAM STUDI
TEKNIK KOMPUTER DAN JARINGAN

2017
PENDAHULUAN
Penulis menggunakan DBMS MySQL sebagai bahan pada praktikum mengenai Manajemen User
dan Hak Akses Basis Data

Praktikum kali ini akan memaparkan bagaimana mengelola user yang terdapat pada MySQL.
Instalasi MySQL merupakan service yang disediakan oleh Xampp. Secara default hanya terdapat 1 user
yang dapat digunakan untuk login masuk ke dalam database yaitu :

User : root

Password : (tidak ada)

Namun, penulis hanya menggunakan service apache dari xampp untuk menjalankan service
web, sedangkan service MySQL diinstall tersendiri yaitu MySQL Workbench sehingga password harus di
set.

Saat dijalankan melalui phpmyadmin (service web untuk MySQL), tidak terdapat halaman login.
Untuk mengatur agar dibutuhkan login apabila ingin mengakses database akan dijelaskan secara step by
step :

- Masuk ke folder xampp dalam hal ini penulis memodifikasi lokasi folder nya
D:\PNUP\CI\phpMyAdmin
- Buka file config.inc.php
- Ubah menjadi seperti tulisan yang berwarna merah
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
//$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'cbgdgd';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Lang'] = '';
PEMBAHASAN
Info user database MySQL tersimpan di dalam database mysql , terletak pada tabel user. Pada
referensi yang saya gunakan sebagai acuan dalam tabel user terdapat kolom password yang
menampilkan password dari user. Namun, password dari user penulis tersimpan dalam kolom
authentication_string. Untuk menampilkan user, password dan host dari database penulis
menggunakan perintah :

SELECT user.User,user.authentication_string, user.Host FROM user

1. USER

Membuat user baru

CREATE USER 'namauser'@'namaserver' IDENTIFIED BY 'isi_password';

Mengganti password pada user

UPDATE user SET authentication_string='cbgdgd' WHERE User='user1'

Ketika mencoba login, muncul error access denied


Sql query yang benar adalah sebagai berikut

UPDATE user SET authentication_string=PASSWORD('cbgdgd') WHERE


User='user1'

2. GRANT

Perintah Grant adalah memberikan hak akses tertentu pada user tertentu. Format perintah grant (untuk
mengizinkan semua hak akses):

GRANT ALL ON nama_database.nama_tabel TO


'namauser'@'nameserver' IDENTIFIED BY 'isi_password';

Untuk mengizinkan beberapa hak :

GRANT SELECT, UPDATE, DELETE ON nama_database.nama_tabel TO


'namauser'@'nameserver' IDENTIFIED BY 'isi_password';

PERCOBAAN YANG TELAH DILAKUKAN OLEH PENULIS :

Membuat user dan memberikan izin hak akses pada user tertentu

GRANT USAGE ON *.* TO user1 IDENTIFIED BY 'user1pwd'

GRANT USAGE ON *.* TO user2 IDENTIFIED BY 'user2pwd'

GRANT USAGE ON *.* TO user3 IDENTIFIED BY 'user3pwd'

GRANT ALL ON *.* TO user1


Setelah pembuatan, user akan muncul pada tabel user

Memberikan hak akses pada database tertentu

use rental_mobil;
GRANT ALL PRIVILEGES ON rental_mobil.* TO user2

Memberikan beberapa hak akses pada database parkir dan komik (sebagai contoh)

use parkir;
GRANT SELECT,UPDATE,INSERT,ALTER ON parkir.* TO user2
GRANT SELECT, UPDATE ON komik.* TO user2

Memberikan beberapa hak akses semua database untuk user tertentu

GRANT SELECT, UPDATE, DELETE ON *.* TO 'user4' IDENTIFIED BY


'user4pwd'

Memberikan akses select pada kolom tertentu pada suatu tabel

GRANT SELECT (plat,vendor_motor) ON parkir.motor TO 'user6'


IDENTIFIED BY 'user6pwd'
Penulis melakukan uji coba select * all dan terjadi error command denied
3. REVOKE

Revoke adalah kebalikan dari grant, yaitu menghapus hak akses yang telah diberikan. Perbedaan
perintah grant dan revoke terletak pada

TO nama_user apabila menggunakan Grant

FROM nama_user apabila menggunaka Revoke

Menghapus hak akses user tertentu pada semua database :

REVOKE ALL ON *.* FROM user1

Menghapus hak akses tertentu

REVOKE SELECT ON *.* FROM 'user1'

REVOKE UPDATE,DELETE ON *.* FROM 'user1'

TAMPILAN USER YANG TELAH DIBUAT OLEH PENULIS SAAT PRAKTIKUM


REFERENSI
https://mediatemple.net/community/products/dv/204404494/how-do-i-grant-privileges-in-mysql

https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-
in-mysql

http://stackoverflow.com/questions/17759776/how-to-get-login-option-for-phpmyadmin-in-xampp