WHAT'S NEW?
Loading...

Tutorial Advanced MySQL Part-1 Manajemen User


Tutorial kali ini berjudul  "Advanced MySQL Part-1", kenapa saya sebut advanced, karena menurut saya materi yang akan saya tuliskan adalah materi yang jarang saya gunakan, dan saya sering lupa caranya. Kemudian ketika saya lupa caranya, saya menganggap orang yang bisa melakukannya adalah orang-orang pro Mysql dan bisa melakukan hal-hal advanced di Mysql. Kenapa Part-1, tentu karena nanti bakalan ada part-2 nya, oke langsung aja, di part-1 ini yang akan kita bahas adalah tentang manajemen user. Langsung aja kita bahas materinya :

Menambah User Baru
CREATE USER '{username}'@'{host}' IDENTIFIED BY '{password}';

Contoh jika kita ingin menambahkan user dengan keterangan sebagai berikut :
username = usercoba
host = localhost
password = 12345
Maka query untuk membuatnya adalah seperti ini:

CREATE USER usercoba@localhost IDENTIFIED BY '12345';

Melihat Daftar User
Mysql menyimpan semua data usernya pada tabel 'user' didalam database 'mysql', sehingga jika kita ingin melihat semua user yang terdaftar, caranya cukup menggunakan query SELECT biasa, seperti berikut:

SELECT user, host FROM mysql.user;

Untuk menampilkan user secara lebih spesifik dapat menambahkan perintah 'WHERE'

Mengganti Password User
Pada Mysql sendiri untuk mengganti password user, caranya cukup mudah. Berikut ini adalah struktur query-nya:

SET PASSWORD FOR '{username}'@'{host}' = password('{password}');

Kenapa, dibagian password harus ada fungsi password(), karena semua password yang akan disimpan harus kita hashing dengan fungsi tersebut agar sulit bagi orang lain untuk melihat password dari setiap user. 
Berikut ini adalah contoh query jika kita ingin mengganti password dari user yang sebelumnya kita buat menjadi '54321'

SET PASSWORD FOR usercoba@localhost = password('54321');
Memberikan Hak Akses
Setiap user baru yang kita buat, secara default tidak akan memiliki hak akses apapun pada database, sehingga kita juga perlu mendefinisikan hak akses dari user tersebut. Berikut ini adalaah struktur querynya:

GRANT {jenis hak akses} ON {database}.{tabel} TO '{username}'@'{host}';

Selanjutnya berikut ini adalah jenis hak akses yang terdapat di MySql:
• CREATE = Akses untuk MEMBUAT database atau tabel baru
• DROP = Akses untuk MENGHAPUS database atau tabel baru
• INSERT = Akses untuk MENAMBAHKAN data ke tabel
• SELECT = Akses untuk MEMBACA data dari tabel
• UPDATE = Akses untuk MENGUBAH data di tabel
• DELETE = Akses untuk MENGHAPUS data dari tabel
• ALL = Akses penuh terhadap database

Berikut ini adalah contoh jika kita ingin memberikan hak akses kepada user, untuk hanya dapat membaca data pada semua tabel di database wordpress

GRANT READ ON wordpress.* TO 'usercoba'@'localhost';
Mengambil Hak Akses
Jika kita ingin mengambil hak akses dari seorang user dapat menggunakan fungsi ini, untuk struktur querynya mirip dengan query untuk memberi hak akses, hanya saja disini menggunakan fungsi REVOKE, berikut ini adalah struktur query-nya:

REVOKE {jenis hak akses} ON {database}.{tabel} FROM '{username}'@'{host}';

Selanjutnya berikut ini adalah jenis hak akses yang terdapat di MySql:
• CREATE = Akses untuk MEMBUAT database atau tabel baru
• DROP = Akses untuk MENGHAPUS database atau tabel baru
• INSERT = Akses untuk MENAMBAHKAN data ke tabel
• SELECT = Akses untuk MEMBACA data dari tabel
• UPDATE = Akses untuk MENGUBAH data di tabel
• DELETE = Akses untuk MENGHAPUS data dari tabel
• ALL = Akses penuh terhadap database

Berikut ini adalah contoh jika kita ingin mengambil hak akses READ dari user, pada semua tabel di database wordpress

REVOKE READ ON wordpress.* FROM 'usercoba'@'localhost';

Melihat Hak Akses User
Kita dapat melihat hak akses yang dimiliki oleh seorang user menggunakan perintah query dengan struktur berikut:

SHOW GRANTS FOR '{username}'@'{host}';

contoh jika kita ingin meilhat hak akses yang dimiliki oleh 'usercoba', perintahnya adalah sebagai berikut:

SHOW GRANTS FOR 'usercoba'@'localhost';



0 komentar:

Posting Komentar