Oke disini saya akan membahas tentang bagaimana cara membuat dan menghapus user, memberi dan mecabut privilages user, mengubaha data user (seperti mengganti password dan username), mengatur darimana user dapat mengaksek MySQL Server.
MySQL merupakan salah satu aplikasi standart dalam membangun web, bersama dengan Web Server Apache (ini bukan merk rokok ya :D), dan bukan bahasa pemrograman PHP. MySQL adalah salah satu aplikasi RDBMS (RElational Database Management System). Keunggulan MySQL dibanding dengan RDBMS lainya diantaranya MySQL memiliki kecepatan, dapat memproses data yang sangat besar dan kompleks tanpa ada penurunan peforma instalasi.
PENGAKSESAN DAN PRIVILAGES USER
Untuk mengatur hak akses di MySQL, pada dasarnya kita menggunakan bentuk perintah Grant dan Revoke. Berikut bentuk umum perintah GRANT dan REVOKE:
GRANT priv_type
ON{tbl_name|*|*.*|db_name.*}
TO usrr_name [IDENTIFIED BY 'password'] [WITH GRANT OPTION]
EVOKE priv_type
ON {tbl_name|*|*.*|db_name.*}
FROM user_name
ON{tbl_name|*|*.*|db_name.*}
TO usrr_name [IDENTIFIED BY 'password'] [WITH GRANT OPTION]
EVOKE priv_type
ON {tbl_name|*|*.*|db_name.*}
FROM user_name
Perintah grant dan revoke dapat digunakan untuk membuat user baru maupun mengatur hak akses user yang sudah ada dengan hak akses (privileges) tertentu. Tingkat hak akses user dapat terbagi menjadi tingkatan global (tersimpan di table mysql.user), database (tersipan di table mysql.host dan mysql.db), tabel (tersimpan di table mysql.tables_priv) dan kolom (tersimpan ditable mysql,columns_priv). Setiap perubahan hak akses di MySQL, termasuk menambahkan user baru, tidak akan berlaku sebelum diakhiri dengan perintah FLUSH PRIVILEGES. pernyataan privileges digunakan agar MySQL membaca ulang database mysql dan semua perubahan yang ada didalamnya tanpa merestat ulang server MySQL.
Berikut hak akses MySQL yang dapat diberikan kepada user:
Hak | Keterangan |
ALL | Memberikan akses penuh kepada seorang user kecuali perintan GRANT |
ALTER | Mengizinkan user untuk menggunakan perintah ALTER TABLE |
ALTER ROUNTINE | Mengizinkan user untuk mengubah struktur (schema) dari sebuah fungsi tersimpan dan prosedur tersimpan |
CREATE | Mengizinkan user untuk menggunakan perintah CREATE TABLE |
CREATE USER | Mengizinkan user untuk membuat fungsi tersimpan perintak CREATE USER, DROP USER dan REVOKE ALL PRIVILEGES |
CREATE TEMPORARY TABLES | Mengizinkan user untuk menggunakan perintah CREATE TEMPORARY TABLES(HEAD) |
CREATE VIEW | Mengizinkan user untuk menggunakan perintah CRATE VIEW |
DELETE | Mengizinkan user untuk menggunakan perintah DELETE |
DROP | Mengizinkan user untuk menggunaka perintah DROP TABLE |
EVENT | Mengizinkan unser untuk membuat penjadwalan perintah SQL. Hak ini terdapat pada MySQL versi 5.1.6 keatas |
EXECUTE | Mengisinkan user untuk menggunakan fungsi tersimpan dan prosedur tersimpan |
FILE | Mengizikan user untuk menggunakan perintah SELECT....INTO OUTFILE, LOAD DATA INFILE dan proses replikasi |
INDEX | Mengizinkan user untuk menggunakan perintahCREATE INDEX dan DROP INDEX |
INSERT | Menizinkan user untuk menggunakan perintah INSERT |
LOCK TABLES | Mengizinkan user untuk menggunakan perintah LOCK TABLES |
PROCESS | Mengizinkan user untuk menggunakan perintah SHOW FULL PROCESSLIST. |
RELOAD | Mengizinkan user untuk menggunakan perintah FLUSH |
REPLICATION CLIENT | Mengizinkan user untuk mendapatkan informasi komputer Master atau Slave |
REPLICATION SLAVE | Mengizinkan user dari komputer slave untuk membaca file binary Log pada computer Master untuk proses replikasi |
SELECT | Mengizinkan user untuk menggunakan perintah SELECT |