MySQL adalah salah satu sistem manajemen database yang populer dan paling banyak digunakan.Hal ini dikarenakan kemudahan penggunaan yang ditawarkan serta besarnya dukungan komunitas.
Tutorial ini menjelaskan cara membuat akun pengguna MySQL dan memberikan hak istimewa. Sebelum mulai dengan tutorial ini, mengasumsikan bahwa Anda sudah menginstal server MySQL atau MariaDB di sistem operasi anda.
Saat anda menggunakan mysql, akan langsung diberikan username dan password. Dengan adanya informasi login ini, Anda akan memperoleh akses root atau kendali penuh atas semua database dan tabel.
Berikut perintah yang paling sering digunakan di MySQL:
CREATE – akun pengguna di ijinkan untuk membuat database atau tabel.
SELECT – akun pengguna di ijinkan untuk mengambil data dari database.
INSERT – akun pengguna di ijinkan untuk memodifikasi entri yang ada di tabel.
DELETE – akun pengguna di ijinkan untuk menghapus entri tabel.
DROP – akun pengguna di ijinkan untuk menghapus semua tabel database.
UPDATE – akun pengguna di ijinkan untuk memperbarui baris tabel database.
Untuk mengakses shell mysql, ketik perintah berikut beserta kata sandi dan pengguna root mysql:
mysql -u root -p
Untuk membuat akun pengguna MySQL ketikan perintah berikut:
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password_user';
Untuk mengecek kembali hak akses apa saja yang sudah diberikan ke user MySQL, gunakan perintah SHOW GRANTS:
SHOW GRANTS FOR 'user_name'@'localhost';
Untuk memberikan akses dari host lain, ubah bagian (localhost) dengan IP mesin jarak jauh yang di ijinkan. Misalnya untuk memberikan akses dari mesin dengan IP 202.10.10.45
CREATE USER 'user_name'@'202.10.10.45' IDENTIFIED BY 'password_user';
Untuk membuat pengguna yang dapat terhubung dari host mana pun, gunakan wildcard ‘%‘ sebagai bagian host:
CREATE USER 'user_name'@'%' IDENTIFIED BY 'password_user';
Untuk menghapus akun pengguna MySQL, menggunakan DROP USER:
DROP USER 'user_name'@'localhost'
Memberikan hak akses userbaru ke salah satu database
GRANT ALL PRIVILEGES ON dbname.* TO 'user_name'@'localhost';
FLUSH PRIVILEGES;
Memberikan semua hak istimewa ke akun pengguna di semua database:
GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
Memberikan semua hak istimewa ke akun pengguna di atas tabel tertentu dari database:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
Memberikan beberapa hak istimewa ke akun pengguna melalui database tertentu:
GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';
Untuk menguji pengguna baru, log keluar dengan mengetik:
exit;
Mencabut Hak Istimewa dari Akun Pengguna MySQL
Sintak untuk mencabut satu atau lebih hak istimewa dari akun pengguna hampir sama seperti saat anda memberikan hak istimewa.
Untuk mencabut semua hak istimewa dari akun pengguna melalui database tertentu, jalankan perintah berikut:
REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';
Menghapus pengguna mysql yang ada
DROP USER 'user'@'localhost'
Setelah anda membaca tutorial ini, seharusnya anda memiliki pemahaman tentang cara menambah pengguna baru dan memberikan berbagai izin kepada pengguna dalam basis data MySQL.