BAB 25: Konfigurasi Database

Menghubungkan aplikasi Laravel ke database MySQL dan mengatur environment variables.

Proyek sudah berdiri, nama aplikasi sudah disetel, dan php artisan serve sudah berjalan. Satu hal yang belum ada: koneksi ke database. Tanpa itu, aplikasi tidak bisa menyimpan atau membaca satu record pun.

Membuat Database

Buat database di MySQL sebelum mengonfigurasi Laravel. Masuk ke MySQL client:

mysql -u root -p

Buat database baru dengan encoding yang benar:

CREATE DATABASE manajemen_catatan CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Keluar dari MySQL:

EXIT;

utf8mb4 dipilih karena mendukung semua karakter Unicode termasuk emoji — lebih lengkap dibanding utf8 biasa yang hanya mendukung sebagian karakter.

Mengatur Koneksi di .env

Buka file .env di root proyek, temukan bagian database, dan sesuaikan dengan kredensial MySQL kamu:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=manajemen_catatan
DB_USERNAME=root
DB_PASSWORD=

Kosongkan DB_PASSWORD jika MySQL tidak menggunakan password. Ganti DB_USERNAME dan DB_PASSWORD sesuai user MySQL yang kamu gunakan.

Jangan pernah commit file .env ke Git. File ini berisi kredensial database. Laravel sudah memasukkan .env ke .gitignore secara default — pastikan baris itu tidak dihapus.

Memverifikasi Koneksi

Cara tercepat memverifikasi koneksi adalah menjalankan migrasi bawaan Laravel:

php artisan migrate

Jika koneksi berhasil, Laravel menjalankan semua file di database/migrations/ dan menampilkan output seperti ini:

   INFO  Running migrations.

  0001_01_01_000000_create_users_table .......................... 35ms DONE
  0001_01_01_000001_create_cache_table .......................... 19ms DONE
  0001_01_01_000002_create_jobs_table ........................... 18ms DONE

Tiga tabel ini adalah bawaan Laravel — untuk users, cache, dan background jobs. Kita akan menambahkan tabel catatan di bab berikutnya.

Menangani Error Koneksi

Dua error yang paling umum muncul di tahap ini:

  • SQLSTATE[HY000] [1045] Access denied — username atau password salah. Periksa kembali DB_USERNAME dan DB_PASSWORD di .env.
  • SQLSTATE[HY000] [1049] Unknown database — database manajemen_catatan belum dibuat. Kembali ke langkah pertama di bab ini.

Setelah migrate berjalan tanpa error, koneksi database sudah siap. Langkah selanjutnya adalah membuat model dan migrasi untuk tabel catatan.

Referensi

  1. 1Database: Getting Started — Laravel 12.x Documentation
  2. 2Environment Configuration — Laravel 12.x Documentation