ADMINISTRASI USER I. Konfigurasi User Root mysql> Show Databases; mysql> Use Mysql; mysql> Show Tables; mysql> Select user,host,password from user;
Memberikan Pasword terhadap User Root mysql> UPDATE user SET password=password(‘jayanusa’) WHERE user=’root’; mysql> Select user,host,password from user;
Mengaktifkan Konfigurasi mysql> FLUSH PRIVILEGES; mysql> \q
Masuk ke MYSQL dengan User dan Password C:\> mysql –u root –p Enter password : ********
II. Menambah USER Baru Pada MYSQL Standar mysql> USE Mysql; mysql> Desc user; Penjelasan : Nama Kolom Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_prive Drop_priv Reload_priv Shutdown_priv Process_priv File_priv
Izin Akses
Select Insert Update Delete Create Drop Reload Shutdown Process File
Fungsi Mendeklarasikan Host pada User Mendeklarasikan Nama User Mendeklarasikan Password user untuk mengakses database Menampilkan Data pada Tabel Memasukan Data pada Tabel Meng-update data pada tabel Menghapus data pada tabel Membuat Database, Tabel dan Index Menghapus Database dan Tabel Aktif Menerapkan perubahan konfigurasi pada server sama dengan flush Melakukan perintah shutdown pada server Menampilkan proses eksekusi yang sedang terjadi pada server Membaca dan menulis file pada server
Grant_priv References_Prev Index_priv Alter_table
Grant References Index Alter
Memberikan hak akses pada user lain Menampilkan referensi Membuat dan membuat Index Melakukan modifikasi struktur tabel
mysql> Insert into user values (‘localhost’, ’imam’, password(‘gunawan’), ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ‘N’, ’N’, ’N’, ’N’, ’Y’, ’N’, ‘Y’, ’Y’, ’Y’); mysql> Select user, host, password From User; mysql> Flush Privileges;
Pada MYSQL dengan WAMP Server mysql> USE Mysql; mysql> Desc user; Penjelasan : User MYSQL pada WAMP Server memiliki 37 atribut, sehingga akan menyulitkan jika membuat user baru dengan menggunakan perintah Insert seperti diatas. Sehingga cara mudah membuat usernya adalah : mysql > CREATE USER arif IDENTIFIED BY ‘12345’; mysql > CREATE USER nabila IDENTIFIED BY ‘23456’; mysql > CREATE USER desi IDENTIFIED BY ‘34567’;
Catatan : User yang memiliki host : localhost (root@localhost) berarti hanya dapat diakses secara lokal, tidak bisa diakses dari komputer lain. User yang memiliki host : % (arif@%) dapat diakses secara bersama.
MEMBERIKAN HAK AKSES PADA USER MENGGUNAKAN PERINTAH GRANT Grant merupakan perintah untuk memberikan hak akses bagi user agar dapat mengakses database, tabel, kolom. Grant juga dapat menambah user baru. Ada empat pilihan perintah Grant : 1. Akses Penuh (Global) 2. Izin Akses Database 3. Izin Akses Tabel 4. Izin Akses Kolom Konfigurasi dengan Grant akan aktif apabila User keluar terlebih dahulu dari MYSQL dan melakukan koneksi kembali (Flush Privileges tidak berlaku). Yang dapat memberikan hak akses adalah user root atau user yang memiliki hak akses setara dengan root (izin akses penuh).
IZIN AKSES PENUH mysql> GRANT ALL PRIVILEGES ON *.* TO arif WITH GRANT OPTION; Ket : -
Perintah diatas akan memberikan izin akses penuh setara dengan root pada user arif (sebaiknya ini jangan dilakukan karena akan ada multi root).
-
WITH GRANT OPTION, memberikan hak penuh kepada user arif sehingga user arif akan mampu melakukan perintah GRANT tertentu pada user lainnya.
-
Perintah GRANT akan menciptakan user baru apabila user yang disertakan pada printah GRANT belum ada pada user MYSQL.
mysql> GRANT ALL PRIVILEGES ON *.* TO imam IDENTIFIED BY ‘gunawan’ WITH GRANT OPTION;
IZIN AKSES DATABASE mysql> GRANT ALL ON test.* TO nabila; Ket : -
Perintah diatas akan mengatur user nabila hanya dapat mengakses database test saja.
IZIN AKSES TABEL mysql> GRANT SELECT,INSERT ON stockgudang.barang TO desi; Ket : -
Perintah diatas mempunyai arti bahwa user desi hanya diperbolehkan untuk melakukan perintah SELECT dan INSERT pada tabel barang dalam database stockgudang.
-
Ijin akses yang lain adalah INSERT, UPDATE, DELETE, CREATE, DROP, GRANT, REFERENCES, INDEX DAN ALTER
IZIN AKSES KOLOM mysql> GRANT SELECT (Nama,Satuan) ON stockgudang.barang TO imam; Ket : -
Perintah diatas mempunyai arti bahwa user imam hanya diperbolehkan untuk melakukan perintah Select pada tabel barang dalam database stockgudang pada kolom Nama dan Satuan saja.
-
Ijin akses yang lain adalah SELECT, INSERT, UPDATE dan REFERENCES
MENAMPILKAN IZIN AKSES DARI USER mysql> SHOW GRANTS FOR nabila;
MENGGUNAKAN PERINTAH REVOKE REVOKE merupakan kebalikan dari GRANT yaitu menghapus atau mencabut kembali izin akses user yang sebelumnya telah diberikan. Tingkat pilihan yang dapat digunakan juga sama dengan perintah GRANT sehingga semua izin akses dengan GRANT dapat anda cabut kembali.
mysql> REVOKE ALL ON stockgudang.barang FROM imam; Ket : -
Perintah di atas akan mencabut semua akses user imam dari database coba tabel sobat
Jika dilihat dengan perintah SHOW GRANTS, user imam hanya memiliki akses GRANT USAGE yang berarti tidak ada izin akses (NO PRIVILEGES).
III. Menghapus USER Untuk menghapus user, yang berhak melakukannya adalah user root dan sebaiknya kita tidak memberikan hak tersebut kepada user lain. mysql> Delete from user Where user = ‘imam’; mysql> Flush Privileges;
IV. MengUpdate Password Untuk mengupdate password gunakan perintah berikut : mysql> Update user set password=password(‘nabila’) where user = ‘root’; mysql> Flush Privileges;
MERESET PASSWORD ROOT Jika password root lupa, maka MySql jangan di install ulang (karena ini bukan solusi yang baik). caranya adalah dengan mereset password root : 1. Log in sebagai Administrator / root pada sistem operasi 2. Matikan MySql Server C:\Mysql\Bin> NET STOP mysql 3. Restart mysqld C:\ Mysql\Bin> mysqld --skip -grant – tables perintah ini akan memberikan akses penuh kesemua database pada setiap user 4. Masuk ke Mysql
C:\ Mysql\Bin> mysql –u root mysql 5. Berikan password baru pada root mysql> UPDATE user SET password=password(‘gunawan’) WHERE user=’root’; mysql> FLUSH PRIVILEGES; mysql>\q 6. Jalankan kembali server MySql C:\ Mysql\Bin> NET START mysql 7. Masuklah kembali ke MySql sebagai root dengan password baru
Catatan : Hati-hati menggunakan perintah membatalkannya gunakan perintah : C:\ Mysql\Bin> mysqladmin reload
mysqld –skip-grant-tables, karena akses semua user terbuka. Untuk