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 Izin Akses Fungsi Host Mendeklarasikan Host pada User User Mendeklarasikan Nama User Password Mendeklarasikan Password user untuk mengakses database Select_priv Select Menampilkan Data pada Tabel Insert_priv Insert Memasukan Data pada Tabel Update_priv Update Meng-update data pada tabel Delete_priv Delete Menghapus data pada tabel Create_prive Create Membuat Database, Tabel dan Index Drop_priv Drop Menghapus Database dan Tabel Aktif Reload_priv Reload Menerapkan perubahan konfigurasi pada server sama dengan flush Shutdown_priv Shutdown Melakukan perintah shutdown pada server Process_priv Process Menampilkan proses eksekusi yang sedang terjadi pada server File_priv File Membaca dan menulis file pada server
Grant_priv Grant Memberikan hak akses pada user lain References_Prev References Menampilkan referensi Index_priv Index Membuat dan membuat Index Alter_table Alter 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; 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; - 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; - Perintah diatas akan mengatur user nabila hanya dapat mengakses database test saja. IZIN AKSES TABEL mysql> GRANT SELECT,INSERT ON stockgudang.barang TO desi; - 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; - 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; - 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 ; IV. MengUpdate Password Untuk mengupdate password gunakan perintah berikut : mysql> Update user set password=password( nabila ) where user = root ; 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