a. Berikan hak akses sembarang database kepada user anwar dan berikan password dengan perintah berikut;
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql -u root -h localhost -p
Enter password: rootpassword
mysqlGRANT USAGE ON . TO anwarlocalhost
-IDENTIFIED BY ‘passwordsembarang’;
mysqlQUIT;
b. Buatlah table dengan nama mytable1 pada database mydatabase dengan user login
santi; C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql -u santi -h localhost -p
Enter password: passwordsembarang
mysqlUSE mydatabase;
mysqlCREATE TABLE mytable1
-nip INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, -nama VARCHAR35 NOT NULL,
-tmp_lahir VARCHAR35 NOT NULL, -tgl_lahir DATE NULL DEFAULT “0000-00-00”,
-kelamin ENUM‘L’,’P’, -alamat VARCHAR35 NOT NULL;
c. Apa maksud dari perintah-perintah berikut?;
mysqlGRANT -SELECT nip, nama, tgl_lahir, alamat,
-INSERT nip, nama, tgl_lahir, alamat, -ON mydatabase.mytable1
-TO anwarlocalhost;
d. Apa pengaruh perintah tersebut pada GRANT TABLE?, cari tahu dengan lakukan
perintah berikut; mysqlSELECT host, db, user, table_name, grantor
-FROM table_priv WHERE user=’anwar’;
e. Lihatlah hak akses yang dimiliki oleh user anwar, dengan perintah berikut;
mysqlSELECT host, db, user, table_priv, column_priv -FROM table_priv WHERE user=’anwar’;
f. Tampilkan nama-nama kolom yang dapat diakses oleh user anwar, dengan perintah
berikut; mysqlSELECT column_priv WHERE user=’anwar’;
Modul Praktikum Sistem Basis Data .............................................................................. 21
g. Apa saja yang dapat dilakukan oleh user anwar terhadap table mytable1 dalam
database mydatabase?, ikuti perintah-perintah berikut; mysqlQUIT;
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql -u anwar -h localhost -p
Enter password: passwordsembarang
mysqlUSE mydatabase;
mysqlSELECT FROM mytable1;
mysqlINSERT INTO mytable1
-VALUES ‘1’, ‘AISYAH’,’MALANG’,’1975-8-16’,’P’,’PANJAITAN 17’;
h. Sukseskah perintah terebut? Mengapa demikian? Bagaimana dengan perintah berikut? mysqlSELECT FROM mytable1;
i. Lakukan perubahan data dengan perintah UPDATE, sebagaimana perintah berikut;
mysqlUPDATE mytable1 SET nama=’AISYAH KAMILA’ WHERE nip=‘1’;
Apa yang terjadi? Mengapa demikian? j. Lakukan penghapusan table mytable1, sebagaimana perintah berikut;
mysqlDELETE FROM mytable1;
Apa yang terjadi? Mengapa demikian?
Penjelasan
Kegagalan yang terjadi ketika menjalan perintah UPDATE, DELETE dan DROP,
disebabkan user anwar tidak diberi hak akses tersebut pada mytable1 dalam database mydatabase. Untuk memberikan hak penuh bagi user anwar dapat
dilakukan dengan perintah berikut;
mysqlGRANT ALL PRIVILEGES -ON mydatabase.mytable1
-TO anwarlocalhost;
Bila akan memberikan hak penuh bagi user anwar terhadap seluruh table dalam
database mydatabase, dapat dilakukan dengan perintah berikut; mysqlGRANT ALL PRIVILEGES
-ON mydatabase. -TO anwarlocalhost;
Beberapa contoh di atas hanya memberikan izin mengakses MySQL secara lokal,
hanya pada komputer tempat program MySQL Server terinstall. Bagaimana kalau lokasi
Modul Praktikum Sistem Basis Data .............................................................................. 22
komputemya berbeda? Bisakah melakukan pembatasan hanya pada komputer tertentu saja yang dapat mengakses? Perhatikan perintah GRANT berikut;
mysqlGRANT CREATE, DROP -ON mydatabase.
-TO anwarlocalhost;
Perintah TO sebenamya terdiri dari dua bagian, yaitu nama user dan alamat lokasi pengakses. Pada perintah TO di atas, kita memberikan izin akses kepada user anwar
dengan alamat mesin localhost. Alamat ini bisa juga kita isi dengan alamat IP Intemet Protocol, misalnya 127.0.0.1 atau alamat IP apa saja yang dimilik, sehingga perintah di
atas menjadi: mysqlGRANT CREATE, DROP
-ON mydatabase. -TO anwar127.0.0.1;
atau
mysqlGRANT CREATE, DROP -ON mydatabase.
-TO anwar’www.dimanasaja.com’;
atau mysqlGRANT CREATE, DROP
-ON mydatabase. -TO anwar’.dimanasaja.com’;
Dengan perintah seperti itu, maka anwar dapat melakukan login dengan cara seperti
berikut; C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql –h 127.0.0.1 -u anwar -p
Atau
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql –h www.dimanasaja.com -u anwar –p
F. TUGAS
a. Daftarkan user-user berikut beserta hak aksesnya
No. Nama User
Pswd Database Table
Hak Akses All
Select Insert
Update Delete
Create Drop
1 Andi
11111 .
2 Amir
22222 ujimhsdb.dosen
√ √
√ √
3 Ahmad
33333 ujimhsdb.
√ 4
Anik 44444
ujimhsdb.ujian √
√ √
Modul Praktikum Sistem Basis Data .............................................................................. 23