Setelah sebelumnya kita belajar membuat dan memilih database, kali ini kita akan membahas tentang bagaimana cara membuat user di MySQL. Kita akan belajar bagaimana membuat useng melalui perintah CREATE USER dan INSERT.
Di MySQL, kita bisa tidak hanya bisa menentukan siapa yang bisa connect ke database, tapi juga bisa menentukan spesifik dari sumber tertentu. Sebuah akun MySQL juga memuat informasi hostname dari mana user tersebut bisa melakukan koneksi, ini ditandai dengan simbol @. Sebagai contoh, jika akun welly akan connect ke database server dari host karedok.net maka akun MySQL nya akan seperti [email protected]
Aturan ini akan memperbolehkan banyak akun dengan nama yang sama tetapi terkoneksi dari beberapa host dengan kewenangan yang berbeda.
Oh ya, untuk bisa membuat user baru, kita harus login menggunakan akun root atau akun yang memiliki kewenangan Global (Global Privileges) atau kewenangan INSERT ke database mysql.
Membuat user menggunakan perintah CREATE USER
Sekarang, kita langsung aja praktek bagaimana cara membuat user di MySQL.
Untuk membuat user, perintah yang digunakan adalah:
CREATE USER user IDENTIFIED BY password
Format yang digunakan untuk membuat user adalah ‘username’@’hostname’
Sedangkan password diberikan dengan menggunakan perintah IDENTIFIED BY. Password ditulis dengan plain text dan nanti MySQL yan akan melakukan enkripsi ketika disimpan ke tabel database.
Sebagai contoh, untuk membuat akun dbadmin yang akan connect melalui host localhost, maka perintah yang akan digunakan adalah:
CREATE USER 'dbadmin'@'localhost';
Untuk mengijinkan user dbadmin agar bisa mengakses server database bebas dari host mana saja, kita bisa menggunakan tanda baca % (persen). Jadinya:
CREATE USER 'dbadmin'@'%';
Selain menggunakan hostname, penentuan host yang diperbolehkan login bisa juga ditentukan melalu IP, misalnya kita hanya mengijinkan user dbadmin mengakses server database 192.168.12.3 maka perintahnya menjadi:
CREATE USER 'dbadmin'@'192.168.12.3';
Kita bisa juga menentukan password untuk user akunnya dengan menggunakan menambahkan perintah IDENTIFIED BY. Misalnya kita akan menentukan password Rahasia untuk akun dbadmin, maka perintahnya adalah:
CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'Rahasia';
Untuk memaksa user mengganti passwordnya saat pertama kali login, kita bisa menambahkan argumen expired saat membuat akun. Dengan begitu, saat berhasil login, user akan diminta untuk mengganti passwordnya. Ini biasanya dilakukan SysAdmin saat membuatkan user baru. Perintah lengkapnya menjadi:
CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'Rahasia' PASSWORD EXPIRE;
Kita juga bisa menentukan interval waktu tertentu akun seseorang untuk mengganti password. Misalnya, kita mau mengatur agar tiap 30 hari user dbadmin menggati passwordnya. Perintah lengkapnya menjadi:
CREATE USER 'dbadmin'@'localhost' IDENTIFIED BY 'Rahasia' PASSWORD EXPIRE INTERVAL 30 DAY;
Membuat User menggunakan perintah INSERT
Cara lain untuk membuat user MySQL adalah dengan mengggunakan perintah INSERT record baru ke tabel user. Kita memerlukan fungsi PASSWORD jika ingin menggunakan alternatif ini. Fungsi PASSWORD digunakan untuk me-enkripsi teks yang kita berikan sebelum disimpan ke tabel. Perintahnya adalah:
INSERT INTO user (host,user,password) VALUES('localhost','dbadmin',PASSWORD('Rahasia'));
Sekarang kita sudah tau bagaimana cara membuat user baru di MySQL menggunakan perintah CREATE USER dan INSERT. Semoga tulisan sederhana ini bisa membantu.
Selamat mencoba.