Studi Kasus

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:

BashBASH
mysql -u root -p

Buat database baru dengan encoding yang benar:

SQLSQL
CREATE DATABASE manajemen_catatan CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Keluar dari MySQL:

SQLSQL
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:

CodeINI
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:

BashBASH
php artisan migrate

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

CodeTEXT
   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. 1 Database: Getting Started — Laravel 12.x Documentation
  2. 2 Environment Configuration — Laravel 12.x Documentation