Mengelola Server dan Database menggunakan PHPMYADMIN

phpMyAdmin adalah aplikasi PHP yang memungkinkan pengguna untuk mengelola database MySQL dan MariaDB melalui antarmuka web. Alat ini memungkinkan pengguna untuk menjalankan berbagai tugas administrasi database seperti membuat, mengubah, dan menghapus database serta tabel, menjalankan perintah SQL, dan banyak lagi.

Instalasi phpMyAdmin

Langkah 1: Instalasi Apache, MySQL, dan PHP

Sebelum menginstal phpMyAdmin, pastikan server Anda memiliki Apache, MySQL, dan PHP yang terinstal. Berikut adalah perintah untuk menginstalnya pada server berbasis Linux (Ubuntu):

Copy

bashCopy codesudo apt update
sudo apt install apache2
sudo apt install mysql-server
sudo apt install php libapache2-mod-php php-mysql

Langkah 2: Instalasi phpMyAdmin

Setelah menginstal Apache, MySQL, dan PHP, langkah berikutnya adalah menginstal phpMyAdmin:

Copy

bashCopy codesudo apt install phpmyadmin

Selama proses instalasi, Anda akan diminta untuk memilih server web. Pilih Apache dan tekan Enter. Selanjutnya, Anda akan diminta untuk mengkonfigurasi database phpMyAdmin. Pilih "Yes" dan masukkan password root MySQL Anda.

Langkah 3: Konfigurasi phpMyAdmin

Setelah instalasi selesai, Anda perlu mengkonfigurasi Apache untuk mengarahkan permintaan ke phpMyAdmin. Buka file konfigurasi Apache:

Copy

bashCopy codesudo nano /etc/apache2/apache2.conf

Tambahkan baris berikut di akhir file:

Copy

plaintextCopy codeInclude /etc/phpmyadmin/apache.conf

Simpan dan tutup file, lalu restart Apache:

Copy

bashCopy codesudo systemctl restart apache2

Langkah 4: Akses phpMyAdmin

Sekarang, Anda dapat mengakses phpMyAdmin melalui browser dengan mengunjungi http://your_server_ip/phpmyadmin. Masuk dengan menggunakan kredensial MySQL Anda.

Menggunakan phpMyAdmin

Membuat Database Baru

  1. Masuk ke phpMyAdmin.

  2. Klik tab "Databases".

  3. Masukkan nama database baru di bawah "Create database".

  4. Klik tombol "Create".

Membuat Tabel Baru

  1. Pilih database yang baru saja Anda buat dari daftar di sebelah kiri.

  2. Klik tab "Structure".

  3. Masukkan nama tabel dan jumlah kolom, lalu klik "Go".

  4. Definisikan kolom tabel, termasuk nama kolom, tipe data, dan atribut lainnya, lalu klik "Save".

Mengelola Tabel

  1. Pilih tabel dari daftar di sebelah kiri.

  2. Klik tab "Structure" untuk melihat atau mengubah struktur tabel.

  3. Klik tab "Browse" untuk melihat data dalam tabel.

  4. Klik tab "Insert" untuk menambahkan data baru ke tabel.

  5. Klik tab "SQL" untuk menjalankan perintah SQL langsung pada tabel.

Menjalankan Perintah SQL

  1. Pilih database dari daftar di sebelah kiri.

  2. Klik tab "SQL".

  3. Masukkan perintah SQL yang ingin dijalankan, lalu klik "Go".

Backup dan Restore Database

  1. Backup Database:

    • Pilih database yang ingin di-backup.

    • Klik tab "Export".

    • Pilih metode export (Quick atau Custom), lalu klik "Go" untuk mengunduh file SQL.

  2. Restore Database:

    • Pilih database tujuan.

    • Klik tab "Import".

    • Klik "Choose File" dan pilih file SQL yang ingin di-restore.

    • Klik "Go" untuk memulai proses restore.

Keamanan phpMyAdmin

Mengamankan phpMyAdmin sangat penting untuk melindungi data sensitif. Beberapa langkah yang dapat Anda ambil termasuk:

  1. Mengubah URL Akses: Mengubah URL default dari /phpmyadmin menjadi sesuatu yang lebih tidak mudah ditebak.

  2. Menggunakan SSL: Pastikan koneksi ke phpMyAdmin dienkripsi dengan menggunakan HTTPS.

  3. Mengatur Autentikasi Tambahan: Menggunakan htpasswd untuk menambahkan lapisan autentikasi tambahan.

Tentu! Berikut adalah beberapa contoh query yang sering digunakan dalam phpMyAdmin untuk mengelola database dan tabel.

1. Membuat Database

Copy

CREATE DATABASE contoh_database;

2. Membuat Tabel

Copy

CREATE TABLE contoh_tabel (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    tanggal_daftar TIMESTAMP
);

3. Menambahkan Data ke Tabel

Copy

INSERT INTO contoh_tabel (nama, email)
VALUES ('John Doe', 'john@example.com');

4. Membaca Data dari Tabel

Copy

SELECT id, nama, email FROM contoh_tabel;

5. Mengupdate Data dalam Tabel

Copy

UPDATE contoh_tabel
SET email = 'john_doe@example.com'
WHERE id = 1;

6. Menghapus Data dari Tabel

Copy

Copy

DELETE FROM contoh_tabel
WHERE id = 1;

7. Backup Database

Copy

Pilih database yang ingin di-backup, kemudian klik tab "Export"
-- Pilih metode export (Quick atau Custom), lalu klik "Go" untuk mengunduh file SQL

8. Restore Database

Copy

Pilih database tujuan
-- Klik tab "Import"
-- Klik "Choose File" dan pilih file SQL yang ingin di-restore
-- Klik "Go" untuk memulai proses restore

9. Membuat Pengguna Baru dan Memberikan Hak Akses

Copy

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON contoh_database.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

10. Menghapus Database

Copy

DROP DATABASE contoh_database;

11. Menghapus Tabel

Copy

DROP TABLE contoh_tabel;

12. Membuat Index pada Tabel

Copy

CREATE INDEX idx_nama ON contoh_tabel (nama);

13. Membuat Relasi Antar Tabel

Misalkan kita punya dua tabel users dan orders dan ingin membuat relasi antara keduanya.

Copy

CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(30) NOT NULL
);

CREATE TABLE orders (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    user_id INT(6) UNSIGNED,
    product_name VARCHAR(50),
    FOREIGN KEY (user_id) REFERENCES users(id)
);

14. Mengambil Data dengan Join

Copy

SELECT users.nama, orders.product_name
FROM users
JOIN orders ON users.id = orders.user_id;

15. Membuat View

Copy

CREATE VIEW view_users_orders AS
SELECT users.nama, orders.product_name
FROM users
JOIN orders ON users.id = orders.user_id;

16. Menggunakan View

Copy

SELECT * FROM view_users_orders;

17. Menggunakan Stored Procedure

Copy

CREATE PROCEDURE GetUserByEmail(IN userEmail VARCHAR(50))
BEGIN
    SELECT * FROM contoh_tabel WHERE email = userEmail;
END //
DELIMITER ;

18. Menggunakan Trigger

Copy

CREATE TRIGGER before_insert_contoh_tabel
BEFORE INSERT ON contoh_tabel
FOR EACH ROW
BEGIN
    SET NEW.tanggal_daftar = NOW();
END;

Semua kode di atas bisa dijalankan di phpMyAdmin menggunakan tab SQL. Semoga contoh-contoh ini membantu Anda dalam mengelola server dan database menggunakan phpMyAdmin! Jika ada pertanyaan lebih lanjut atau topik lain yang ingin dibahas, jangan ragu untuk bertanya.

Contoh query nya

Copy

-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Aug 05, 2024 at 10:28 AM
-- Server version: 10.4.32-MariaDB
-- PHP Version: 8.2.12

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `siakad`
--

-- --------------------------------------------------------

--
-- Table structure for table `dosen`
--

CREATE TABLE `dosen` (
  `id_dosen` int(11) NOT NULL,
  `nama` varchar(100) DEFAULT NULL,
  `id_jurusan` int(11) DEFAULT NULL,
  `nip` varchar(20) DEFAULT NULL,
  `gelar` varchar(50) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `dosen`
--

INSERT INTO `dosen` (`id_dosen`, `nama`, `id_jurusan`, `nip`, `gelar`, `email`) VALUES
(1, 'Dr. A', 1, '123456789', 'S.Kom, M.Kom', 'a@universitas.com'),
(2, 'Dr. B', 2, '987654321', 'S.T, M.T', 'b@universitas.com'),
(3, 'Dr. C', 3, '192837465', 'SE, M.Ak', 'c@universitas.com'),
(4, 'Dr. D', 4, '564738291', 'SH, M.H', 'd@universitas.com'),
(5, 'Dr. E', 5, '657483920', 'S.Sos, M.Sos', 'e@universitas.com');

-- --------------------------------------------------------

--
-- Table structure for table `fakultas`
--

CREATE TABLE `fakultas` (
  `id_fakultas` int(11) NOT NULL,
  `id_universitas` int(11) DEFAULT NULL,
  `nama_fakultas` varchar(100) DEFAULT NULL,
  `dekan` varchar(100) DEFAULT NULL,
  `gedung` varchar(50) DEFAULT NULL,
  `telepon` varchar(15) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `fakultas`
--

INSERT INTO `fakultas` (`id_fakultas`, `id_universitas`, `nama_fakultas`, `dekan`, `gedung`, `telepon`) VALUES
(1, 1, 'Fakultas Teknik', 'Dr. A', 'Gedung A', '021-1234567'),
(2, 1, 'Fakultas Ekonomi', 'Dr. B', 'Gedung B', '021-2345678'),
(3, 2, 'Fakultas Hukum', 'Dr. C', 'Gedung C', '021-3456789'),
(4, 3, 'Fakultas Kedokteran', 'Dr. D', 'Gedung D', '021-4567890'),
(5, 4, 'Fakultas Ilmu Sosial', 'Dr. E', 'Gedung E', '021-5678901');

-- --------------------------------------------------------

--
-- Table structure for table `jurusan`
--

CREATE TABLE `jurusan` (
  `id_jurusan` int(11) NOT NULL,
  `id_fakultas` int(11) DEFAULT NULL,
  `nama_jurusan` varchar(100) DEFAULT NULL,
  `ketua_jurusan` varchar(100) DEFAULT NULL,
  `akreditasi` char(2) DEFAULT NULL,
  `jumlah_dosen` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `jurusan`
--

INSERT INTO `jurusan` (`id_jurusan`, `id_fakultas`, `nama_jurusan`, `ketua_jurusan`, `akreditasi`, `jumlah_dosen`) VALUES
(1, 1, 'Teknik Informatika', 'Dr. X', 'A', 10),
(2, 1, 'Teknik Sipil', 'Dr. Y', 'B', 8),
(3, 2, 'Akuntansi', 'Dr. Z', 'A', 12),
(4, 3, 'Ilmu Hukum', 'Dr. W', 'A', 15),
(5, 4, 'Sosiologi', 'Dr. V', 'B', 7);

-- --------------------------------------------------------

--
-- Table structure for table `mahasiswa`
--

CREATE TABLE `mahasiswa` (
  `nim` varchar(15) NOT NULL,
  `nama` varchar(100) DEFAULT NULL,
  `id_jurusan` int(11) DEFAULT NULL,
  `angkatan` year(4) DEFAULT NULL,
  `alamat` varchar(255) DEFAULT NULL,
  `telepon` varchar(15) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `mahasiswa`
--

INSERT INTO `mahasiswa` (`nim`, `nama`, `id_jurusan`, `angkatan`, `alamat`, `telepon`) VALUES
('2021001', 'Budi', 1, '2021', 'Jl. X No.1', '08123456789'),
('2021002', 'Siti', 2, '2021', 'Jl. Y No.2', '08123456790'),
('2021003', 'Ahmad', 3, '2021', 'Jl. Z No.3', '08134567890'),
('2021004', 'Dewi', 4, '2021', 'Jl. A No.4', '08145678901'),
('2021005', 'Rina', 5, '2021', 'Jl. B No.5', '08156789012');

-- --------------------------------------------------------

--
-- Table structure for table `mata_kuliah`
--

CREATE TABLE `mata_kuliah` (
  `kode_mk` varchar(10) NOT NULL,
  `nama_mk` varchar(100) DEFAULT NULL,
  `sks` int(11) DEFAULT NULL,
  `semester` int(11) DEFAULT NULL,
  `id_jurusan` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `mata_kuliah`
--

INSERT INTO `mata_kuliah` (`kode_mk`, `nama_mk`, `sks`, `semester`, `id_jurusan`) VALUES
('AK101', 'Akuntansi Dasar', 3, 1, 3),
('IF101', 'Algoritma dan Pemrograman', 3, 1, 1),
('IF102', 'Basis Data', 3, 2, 1),
('IH101', 'Hukum Perdata', 3, 1, 4),
('TS101', 'Mekanika Tanah', 3, 1, 2);

-- --------------------------------------------------------

--
-- Table structure for table `nilai`
--

CREATE TABLE `nilai` (
  `id_nilai` int(11) NOT NULL,
  `nim` varchar(15) DEFAULT NULL,
  `kode_mk` varchar(10) DEFAULT NULL,
  `id_dosen` int(11) DEFAULT NULL,
  `nilai` char(1) DEFAULT NULL,
  `semester` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `nilai`
--

INSERT INTO `nilai` (`id_nilai`, `nim`, `kode_mk`, `id_dosen`, `nilai`, `semester`) VALUES
(1, '2021001', 'IF101', 1, 'A', 1),
(2, '2021002', 'IF102', 2, 'B', 2),
(3, '2021003', 'TS101', 3, 'C', 1),
(4, '2021004', 'AK101', 4, 'A', 1),
(5, '2021005', 'IH101', 5, 'B', 1);

-- --------------------------------------------------------

--
-- Table structure for table `universitas`
--

CREATE TABLE `universitas` (
  `id_universitas` int(11) NOT NULL,
  `nama` varchar(100) DEFAULT NULL,
  `alamat` varchar(255) DEFAULT NULL,
  `kota` varchar(50) DEFAULT NULL,
  `akreditasi` char(2) DEFAULT NULL,
  `telepon` varchar(15) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `universitas`
--

INSERT INTO `universitas` (`id_universitas`, `nama`, `alamat`, `kota`, `akreditasi`, `telepon`) VALUES
(1, 'Universitas A', 'Jl. A No.1', 'Kota A', 'A', '021-1234567'),
(2, 'Universitas B', 'Jl. B No.2', 'Kota B', 'B', '021-2345678'),
(3, 'Universitas C', 'Jl. C No.3', 'Kota C', 'A', '021-3456789'),
(4, 'Universitas D', 'Jl. D No.4', 'Kota D', 'C', '021-4567890'),
(5, 'Universitas E', 'Jl. E No.5', 'Kota E', 'B', '021-5678901');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `dosen`
--
ALTER TABLE `dosen`
  ADD PRIMARY KEY (`id_dosen`),
  ADD KEY `id_jurusan` (`id_jurusan`);

--
-- Indexes for table `fakultas`
--
ALTER TABLE `fakultas`
  ADD PRIMARY KEY (`id_fakultas`),
  ADD KEY `id_universitas` (`id_universitas`);

--
-- Indexes for table `jurusan`
--
ALTER TABLE `jurusan`
  ADD PRIMARY KEY (`id_jurusan`),
  ADD KEY `id_fakultas` (`id_fakultas`);

--
-- Indexes for table `mahasiswa`
--
ALTER TABLE `mahasiswa`
  ADD PRIMARY KEY (`nim`),
  ADD KEY `id_jurusan` (`id_jurusan`);

--
-- Indexes for table `mata_kuliah`
--
ALTER TABLE `mata_kuliah`
  ADD PRIMARY KEY (`kode_mk`),
  ADD KEY `id_jurusan` (`id_jurusan`);

--
-- Indexes for table `nilai`
--
ALTER TABLE `nilai`
  ADD PRIMARY KEY (`id_nilai`),
  ADD KEY `nim` (`nim`),
  ADD KEY `kode_mk` (`kode_mk`),
  ADD KEY `id_dosen` (`id_dosen`);

--
-- Indexes for table `universitas`
--
ALTER TABLE `universitas`
  ADD PRIMARY KEY (`id_universitas`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `dosen`
--
ALTER TABLE `dosen`
  MODIFY `id_dosen` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `fakultas`
--
ALTER TABLE `fakultas`
  MODIFY `id_fakultas` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `jurusan`
--
ALTER TABLE `jurusan`
  MODIFY `id_jurusan` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `nilai`
--
ALTER TABLE `nilai`
  MODIFY `id_nilai` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `universitas`
--
ALTER TABLE `universitas`
  MODIFY `id_universitas` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `dosen`
--
ALTER TABLE `dosen`
  ADD CONSTRAINT `dosen_ibfk_1` FOREIGN KEY (`id_jurusan`) REFERENCES `jurusan` (`id_jurusan`);

--
-- Constraints for table `fakultas`
--
ALTER TABLE `fakultas`
  ADD CONSTRAINT `fakultas_ibfk_1` FOREIGN KEY (`id_universitas`) REFERENCES `universitas` (`id_universitas`);

--
-- Constraints for table `jurusan`
--
ALTER TABLE `jurusan`
  ADD CONSTRAINT `jurusan_ibfk_1` FOREIGN KEY (`id_fakultas`) REFERENCES `fakultas` (`id_fakultas`);

--
-- Constraints for table `mahasiswa`
--
ALTER TABLE `mahasiswa`
  ADD CONSTRAINT `mahasiswa_ibfk_1` FOREIGN KEY (`id_jurusan`) REFERENCES `jurusan` (`id_jurusan`);

--
-- Constraints for table `mata_kuliah`
--
ALTER TABLE `mata_kuliah`
  ADD CONSTRAINT `mata_kuliah_ibfk_1` FOREIGN KEY (`id_jurusan`) REFERENCES `jurusan` (`id_jurusan`);

--
-- Constraints for table `nilai`
--
ALTER TABLE `nilai`
  ADD CONSTRAINT `nilai_ibfk_1` FOREIGN KEY (`nim`) REFERENCES `mahasiswa` (`nim`),
  ADD CONSTRAINT `nilai_ibfk_2` FOREIGN KEY (`kode_mk`) REFERENCES `mata_kuliah` (`kode_mk`),
  ADD CONSTRAINT `nilai_ibfk_3` FOREIGN KEY (`id_dosen`) REFERENCES `dosen` (`id_dosen`);
COMMIT;

Kesimpulan

phpMyAdmin adalah alat yang kuat dan mudah digunakan untuk mengelola database MySQL dan MariaDB. Dengan antarmuka grafisnya, phpMyAdmin membuat tugas-tugas administrasi database menjadi lebih mudah bahkan untuk pemula. Menguasai penggunaan phpMyAdmin dapat meningkatkan efisiensi dan produktivitas dalam mengelola database.

Semoga panduan ini membantu Anda memahami cara mengelola server dan database menggunakan phpMyAdmin! Jika ada pertanyaan atau topik lain yang ingin Anda pelajari, jangan ragu untuk bertanya.

0
Subscribe to my newsletter

Read articles from Cinnamon GuestHouse directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Cinnamon GuestHouse
Cinnamon GuestHouse

Cinnamon GuestHouse adalah tempat penginapan yang menawarkan pengalaman menginap yang nyaman dan menyenangkan. Fasilitas yang tersedia disini meliputi kamar tidur yang nyaman dengan pemandangan luar jendela yang langsung mengarah ke taman kanak-kanak yang luas dan asri, kolam renang yang bersih dan terawat, serta restoran yang menyajikan berbagai pilihan hidangan yang terlihat sederhana namun memiliki cita rasa yang lezat. Cinnamon Guesthouse sangat cocok untuk menjadi tempat berlibur yang menenangkan. Kalian bisa mengajak keluarga, pasangan, teman, maupun individu yang mencari tempat libur yang nyaman dan tenang