Modul 4 Mata Pelajaran Kelas Semester Alokasi waktu : Basis Data : II : V : 3 X 45 menit A. Standar Kompetensi Mengoperasikan Bahasa Pemrograman Data Description (SQL) B. Kompetensi Menggunakan SQL untuk memanipulasi data C. Tujuan Peserta harus dapat: Memahami penggunaan username dan password p MySQL Memahami pengelolaan user dengan grant dan revoke Memahami bagaimana sistem bekerja D. Uraian Materi Privilege lah hak dan wewenang yang diberikan kep pemakai yang telah didefinisikan untuk dapat mengakses dan mengelola database MySQL. Privilege mengatur hak mengakses database, data mana saja yang boleh diakses, dan dari mana saja bisa diakses. Superuser database MySQL lah penanggung jawab dan pengelola database MySQL dengan level tertinggi. Superuser secara umum dalam pengelolaan database berkaitan dengan bertugas untuk: - Mengelola pemakai yang berhak mengakses database - Mengatur dari mana saja database bisa diakses - Mengatur data mana saja yang bisa diakses oleh setiap pemakai - Mengatur hak akses apa saja yang bisa dilakukan oleh setiap pemakai 1
2 Merupakan pemikiran yang baik untuk memberikan hanya p user yang memerlukannya, tetapi harus berhati-hati p saat memberikan karena: Grant memungkinkan user untuk memberikan p user lainnya Alter bisa dipergunakan untuk mengambil alih sistem dengan mengubah nama tabel File bisa dipergunakan untuk membaca file apapun p server ke dalam suatu tabel database Shutdown bisa dipergunakan untuk melakukan penolakan / deny service ke seluruh user dengan mematikan server
3 Terdapat beberapa hal yang tidak bisa dilakukan dengan sistem s MySQL: Tidak dapat secara eksplisit menentukan suatu user harus ditolak aksesnya, dalam arti tidak dapat secara eksplisit mencocokan seorang user dan kemudian menolak koneksi Tidak dapat menentukan suatu user memiliki suatu membuat atau men-drop tabel dalam database, tetapi tidak untuk membuat atau mendrop databasenya sendiri PEMERIKSAAN AKSES Alur pemeriksaan yang dilakukan yaitu: Verifikasi koneksi Verifikasi permintaan proses (request) Verifikasi Koneksi: Server MySQL USER MySQL memeriksa tabel user (username, password,host) Jika tidak ditemukan dalam tabel user maka pemakai ditolak
4 Verifikasi Permintaan Proses: Tolak masuk ke dalam MySQL Info login tidak sesuai dalam tabel user Tidak dalam tabel db Tidak Hasil Eksekusi Proses perintah dlm tabel tables_priv Tolak Perintah Tidak dlm tabel columns_priv Tidak Sintak pengelolaan Privilege: GRANT [s] [nama_kolom] ON nama_database.nama_tabel TO nama_user @host_komputer IDENTIFIED BY password [WITH GRANT OPTION] ; Contoh: GRANT select, insert on dblatihan.* TO rini_widi@localhost; Sintak Pencabutan Privilege: REVOKE [s] [nama_kolom] ON nama_database.nama_tabel FROM nama_user@host_komputer ; Contoh: REVOKE insert on dblatihan.* FROM rini_widi@localhost;
5 LATIHAN 1. Apakah yang kegunaan sistem? 2. Apa sajakah tugas dari seorang superuser? 3. Sebutkan beberapa hal yang tidak dapat dilakukan dengan sistem s! 4. Jelaskan alur pemeriksaan akses yang dilakukan MySQL! 5. Dibawah ini lah tabel hak user yang hanya dapat mengakses database dblatihan: Nama User Privilege Host Adm_db Create, drop, alter Localhost, Smk_telkom01 Operator Insert, select Smk_telkom01 Member Update, delete, select Localhost, member.smk_telkommlg.sch.id, Smk_telkom01 a. Buatlah database dblatihan b. Tambahkan user dan sesuai tabel diatas c. Mengaktifkan user dan sistem yang baru d. Mengakses database dari berbagai host dengan user yang telah dibuat e. Login sebagai Adm_01, buat tabel siswa, kemudian lihat daftar tabel p database dblatihan. Jelaskan output yang dihasilkan! f. Apa yang dihasilkan dengan melakukan drop tabel atau alter table? Jelaskan! g. Login sebagai operator dari localhost h. Login sebagai operator dari host smk_telkom01, kemudian lihat daftar tabel. Selanjutnya operator melakukan penambahan dan penghapusan data ke dalam tabel siswa i. Login sebagai member dari host member.smk_telkom-mlg.sch.id kemudia member melakukan update data siwa dan menampilkannya, melakukan delete record siswa dan menampilkannya, kemudian menambhakan data baru ke dalam tabel siswa j. Cabut user operator untuk select data siswa k. Ubah password user member l. Tambahkan user Adm_db untuk select data