← Kembali ke tutorial
Laravel Pemula

Konfigurasi Database MySQL & File .env di Laravel Herd

25 October 2026 19 kali dibaca

Bagikan: Link disalin!
Konfigurasi Database MySQL & File .env di Laravel Herd

Halo bos! Selamat datang kembali dibelajar Laravel 13.

Di artikel sebelumnya kita sudah berhasil membuat project Laravel 13 dan membukanya di browser. Sekarang saatnya menghubungkan project kita ke database.

Laravel secara default memakai SQLite (database file sederhana). Tapi karena kita akan bikin blog yang lebih “serius”, kita akan pakai MySQL — database yang paling umum dipakai di dunia nyata.

Artikel ini akan bahas dua hal penting sekaligus:

  1. Cara menghubungkan Laravel ke MySQL
  2. Memahami file .env (yang sering bikin bingung pemula)

Langsung kita mulai.

1. Apa Itu File .env?

File .env adalah tempat Laravel menyimpan konfigurasi yang berbeda-beda di setiap komputer.

Contohnya:

  1. Nama database
  2. Username & password database
  3. Apakah mode debug aktif atau tidak
  4. Kunci aplikasi (APP_KEY)

Kenapa harus dipisah?

Karena di komputer kamu (local) mungkin pakai database blog_sederhana, sementara di server production pakai database yang berbeda. Kalau semuanya ditulis di kode, nanti kacau.

Aturan emas:

  1. File .env → jangan pernah di-commit ke Git
  2. File .env.example → wajib di-commit (sebagai contoh)
.env — berisi kredensial asli (password database, API key, dsb). File ini tidak pernah di-commit ke git (sudah masuk .gitignore secara default).
.env.example — template tanpa rahasia sungguhan, isinya struktur yang sama tapi dengan placeholder. File ini wajib di-commit, supaya siapa pun yang clone project tahu variabel apa saja yang perlu diisi.

Laravel sudah mengatur ini secara otomatis lewat file .gitignore.

2. Membuka File .env

Masuk ke folder project kamu:

cd ~/Herd/blog-sederhana

Buka file .env pakai editor favorit kamu (VS Code, PhpStorm, Cursor, dll).

Kamu akan melihat banyak baris. Yang paling penting saat ini adalah bagian database:

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=

Saat ini masih memakai SQLite. Kita akan ubah ke MySQL.

3. Setup MySQL di Laravel Herd

Ada dua cara:

Cara A: Paling Mudah (Herd Pro)

Kalau kamu pakai Herd Pro:

  1. Buka aplikasi Herd
  2. Pilih project blog-sederhana
  3. Di bagian Services, ganti Database dari SQLite ke MySQL
  4. Herd akan otomatis:
  5. Membuat database baru
  6. Mengubah isi file .env kamu

Selesai. Tinggal lanjut ke langkah pengujian.

Cara B: Gratis (Tanpa Herd Pro)

Kalau belum pakai Herd Pro, kamu bisa pakai salah satu opsi ini:

  1. DBngin (paling direkomendasikan, mudah)
  2. Install MySQL manual (via Homebrew di Mac atau installer resmi di Windows)

Setelah MySQL berjalan, ubah bagian database di file .env menjadi seperti ini:

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

Penjelasan singkat:

KeyArtiContoh Nilai
DB_CONNECTIONJenis databasemysql
DB_HOSTAlamat server database127.0.0.1 (local)
DB_PORTPort MySQL3306 (default)
DB_DATABASENama database yang akan dipakaiblog_sederhana
DB_USERNAMEUsername MySQLroot
DB_PASSWORDPassword MySQL(kosongkan jika tidak ada)

Catatan:

Di beberapa instalasi Herd, port MySQL bisa jadi 3307 (bukan 3306). Cek di aplikasi Herd bagian Services untuk memastikan.

4. Membuat Database-nya

Sekarang kita buat database kosong bernama blog_sederhana.

Ada beberapa cara:

Cara 1: Lewat terminal (paling cepat)

Jalankan perintah berikut di dalam folder project:

php artisan migrate

Laravel akan mendeteksi bahwa database belum ada, lalu bertanya:

The database 'blog_sederhana' does not exist on the 'mysql' connection.
Would you like to create it? (yes/no)
Ketik yes lalu Enter.

Laravel akan:

  1. Membuat database blog_sederhana
  2. Menjalankan migration bawaan (tabel users, cache, jobs, dll)

Kalau berhasil, kamu akan melihat output mirip seperti ini:

Creating migration table ................................. DONE
Migrating: 0001_01_01_000000_create_users_table
Migrated: 0001_01_01_000000_create_users_table

Cara 2: Pakai TablePlus / phpMyAdmin / HeidiSQL

Buat database baru secara manual, lalu jalankan:

php artisan migrate

5. Menguji Koneksi Database

Cara paling gampang menguji apakah Laravel sudah terhubung ke MySQL:

php artisan tinker

Lalu ketik perintah ini:

DB::connection()->getPdo();

Kalau muncul sesuatu seperti PDO Object (...), berarti koneksi berhasil.

Untuk keluar dari Tinker, ketik:

exit

6. Kenapa .env Tidak Boleh Di-commit?

Bayangkan kamu push project ke GitHub, lalu ada orang iseng buka file .env kamu. Di dalamnya ada:

  1. Password database
  2. API key pembayaran
  3. Secret key aplikasi

Bahaya banget, kan?

Makanya Laravel sudah mengatur agar file .env diabaikan oleh Git. Yang di-commit hanya .env.example sebagai contoh.

Setiap kali orang lain clone project kamu, mereka tinggal:

cp .env.example .env
php artisan key:generate

Lalu mengisi sendiri konfigurasi database mereka.

Ringkasan yang Perlu Kamu Ingat

  1. File .env = konfigurasi lokal (rahasia)
  2. File .env.example = contoh (boleh dibagikan)
  3. Untuk MySQL, ubah DB_CONNECTION menjadi mysql
  4. Nama database, username, dan password harus sesuai dengan yang ada di MySQL kamu
  5. Setelah mengubah .env, jalankan php artisan migrate untuk menguji

Tutorial terkait