Professional Documents
Culture Documents
Praktikum DB
Praktikum DB
Database
Tim Dosen Mata Kuliah SOJK
LAMP Stack (Linux Apache MySQL PHP)
Together, they provide a proven set of software for
delivering high-performance web applications. Each
component contributes essential capabilities to the stack:
Linux: The operating system
Apache: The web server
The Apache web server processes requests and serves up
web assets via HTTP so that the application is accessible to
anyone in the public domain over a simple web URL
MySQL: The database
MySQL is an open source RDBMS for storing application
data. With My SQL, you can store all your information in a
format that is easily queried with the SQL language
PHP: The programming language
The PHP open source scripting language works with Apache
to help you create dynamic web pages
STRUCTURED QUERY LANGUAGE (SQL)
Restart service postgresql, dan lakukan login menggunakan user postgres, maka postgresql akan meminta
password
sudo service postgresql restart
sudo su - postgres
psql
PostgreSQL Administrations
Login ke PSQL CLI (password tekom) – dilakukan pada shell linux
psql -U postgres –h 127.0.0.1 [-d opsional-nama-database]
Membuat database baru (pada psql cli)
create database diploma_db;
Mengubah working database (pada psql cli)
\connect diploma_db;
Menampilkan list database
\l
Menampilkan table di suatu database (digunakan setelah \connect <nama-database>)
\dt
Import database (dilakukan pada shell linux)
psql -U postgres -h 127.0.0.1 -d diploma_db < diploma_db_dummy-
postgresql.sql
PostgreSQL Administrations
Menjadi
PostgreSQL Administrations
Memberikan hak akses untuk connect ke DB kepada user (belum memberikan
akses ke table)
GRANT CONNECT ON DATABASE diploma_db TO diploma;
GRANT ALL PRIVILEGES ON DATABASE diploma_db TO tekom;
Memberikan hak akses ke table untuk user
GRANT SELECT ON TABLE mahasiswa TO tekom;
GRANT INSERT,UPDATE ON TABLE mahasiswa TO diploma;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO tekom;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO tekom;
Melihat hak akses database
\l (perhatikan kolom Access privileges )
Melihat hak akses table
\dp (perhatikan kolom Access privileges )
PostgreSQL Administrations
Mencabut hak akses kepada user
REVOKE CONNECT ON DATABASE diploma_db FROM diploma;
REVOKE ALL PRIVILEGES ON DATABASE diploma_db FROM tekom;
REVOKE INSERT,UPDATE ON TABLE mahasiswa FROM tekom;
REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM tekom;
Menghapus User (harus revoke terlebih dahulu)
DROP USER tekom;
Melihat user
\du
Pembatasan IP address yang dapat terkoneksi ke DB dilakukan pada file
/etc/postgresql/10/main/pg_hba.conf
Melakukan backup database
pg_dump -U postgres diploma_db > /diploma_db_dummy-postgresql-1.sql
Tugas Praktikum
Tugas Praktikum
• Lakukan konfigurasi agar login menggunakan user root pada MySQL
membutuhkan password
• Lakukan konfigurasi agar login menggunakan user postgres pada
PostgreSQL membutuhkan password
• Untuk setiap DBMS (MySQL dan PostgreSQL) buat database dengan
nama diploma_db
• Lakukan import dari file diploma_db_dummy-mysql.sql ke db
diploma_db pada MySQL
• Lakukan import dari file diploma_db_dummy-postgresql.sql ke db
diploma_db pada PostgreSQL
Tugas Praktikum
• Untuk setiap DBMS (MySQL dan PostgreSQL buat 2 user:
• Username untuk user pertama adalah <nim+a>, contoh: jika nim adalah
J3D808080 maka username adalah J3D808080a
• Username untuk user pertama adalah <nim+b>, contoh: jika nim adalah
J3D808080 maka username adalah J3D808080b
• Pada setiap DBMS, batasi IP address yang dapat terkoneksi ke DB
dengan ketentuan sbb:
• User <nim+a> hanya dapat terkoneksi ke DB dari IP address localhost
• User <nim+b> hanya dapat terkoneksi ke DB dari IP address Host OS
(Windows)
• Lakukan pengujian
Tugas Praktikum
• Untuk kedua user tersebut pada setiap DBMS, berikan hak akses sbb:
• Hak akses untuk select pada table mahasiswa untuk user <nim+a>
• Hak akses untuk insert pada table mahasiswa untuk user <nim+b>
• Lakukan pengujian
• Pada kedua DBMS, berikan hak akses penuh untuk semua table di database diploma_db
kepada user <nim+a>
• Upload file demo-mysql.php ke directory root dari virtualhost pada 2a.<nim>.org
• Upload file demo-psql.php ke directory root dari virtualhost pada 2b.<nim>.org
• Edit file demo-mysql.php agar terkoneksi ke mysql menggunakan user <nim+a>
• Edit file demo-pgsql.php agar terkoneksi ke mysql menggunakan user <nim+a>
• Lakukan akses ke 2a.<nim>.org dan 2b.<nim>.org menggunakan browser dan laporkan
hasilnya pada laporan praktikum
Referensi
• https://www.postgresql.org/docs/10/sql-grant.html
• https://www.postgresql.org/docs/10/sql-revoke.html
• https://dev.mysql.com/doc/refman/5.7/en/sql-server-administration-
statements.html
Tools
https://www.heidisql.com/
https://winscp.net/eng/download.php