> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/laravel/bab-5-migration-and-seeder/5.2-konfigurasi-database-di-.env.md).

# 5.2 Konfigurasi Database di .env

## Konfigurasi database di `.env`

Setelah memahami peran migration, sekarang Anda perlu menyiapkan koneksi database.

Laravel membaca pengaturan koneksi ini dari file `.env`.

Jika pengaturan di file ini salah, Laravel tidak akan bisa terhubung ke MySQL.

### Fungsi file `.env`

File `.env` menyimpan konfigurasi yang bisa berbeda di tiap lingkungan.

Contohnya:

* nama database
* username database
* password database
* alamat host dan port

Pendekatan ini lebih aman daripada menulis data sensitif langsung di kode aplikasi.

{% hint style="info" %}
File `.env` adalah file kerja utama. File `.env.example` hanya contoh template, bukan file yang dipakai aplikasi secara langsung.
{% endhint %}

### Menyiapkan koneksi database

Sekarang atur koneksi database proyek `e-library`.

Gunakan urutan ini.

{% stepper %}
{% step %}

### Buka file `.env`

Buka proyek Laravel di VS Code.

Lalu cari file `.env` di root proyek.
{% endstep %}

{% step %}

### Cari blok konfigurasi database

Temukan bagian yang berisi variabel `DB_`.

Biasanya isinya mirip seperti ini:

```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
```

{% endstep %}

{% step %}

### Ubah nama database proyek

Sesuaikan nilainya menjadi:

```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=e_library
DB_USERNAME=root
DB_PASSWORD=
```

Lalu simpan file.
{% endstep %}
{% endstepper %}

### Pastikan MySQL aktif

Sebelum melanjutkan, pastikan MySQL di **Laragon** sudah berjalan.

Periksa hal berikut:

* buka **Laragon**
* klik **Start All** jika service belum aktif
* pastikan MySQL tampil aktif, biasanya di port `3306`

Jika port di komputer Anda berbeda, sesuaikan nilai `DB_PORT` di `.env`.

### Arti tiap variabel database

Berikut fungsi singkat dari tiap baris:

* `DB_CONNECTION=mysql` — memakai driver MySQL
* `DB_HOST=127.0.0.1` — database berada di komputer lokal
* `DB_PORT=3306` — port default MySQL
* `DB_DATABASE=e_library` — nama database proyek
* `DB_USERNAME=root` — username default Laragon
* `DB_PASSWORD=` — password default Laragon biasanya kosong

Bagian yang paling sering berubah adalah `DB_DATABASE`.

Dalam beberapa kondisi, `DB_PORT` juga bisa berbeda jika ada bentrok port.

### Aturan penting saat mengedit `.env`

File `.env` sangat sensitif terhadap format penulisan.

Perhatikan aturan berikut:

* jangan beri spasi di sekitar tanda `=`
* simpan file setelah mengubah isi
* restart server Laravel jika perubahan belum terbaca

Contoh:

* salah: `DB_DATABASE = e_library`
* benar: `DB_DATABASE=e_library`

### Jika perubahan tidak terbaca

Kadang Anda sudah mengubah `.env`, tetapi aplikasi masih memakai konfigurasi lama.

Biasanya cukup lakukan ini:

1. hentikan server dengan `Ctrl + C`
2. jalankan lagi `php artisan serve`

Laravel sering membaca konfigurasi saat server mulai berjalan.

Karena itu, restart server adalah langkah aman setelah mengubah `.env`.

### Output yang harus terlihat

Setelah subbab ini selesai, hasil berikut seharusnya sudah terlihat:

* file `.env` memakai `DB_DATABASE=e_library`
* MySQL di Laragon aktif dan siap menerima koneksi
* tidak ada spasi salah di baris `DB_...`
* server Laravel membaca konfigurasi baru setelah direstart

### Troubleshooting yang paling sering

Masalah yang paling sering muncul:

* **konfigurasi sudah diubah tetapi tidak berefek** — server belum direstart
* **koneksi gagal karena database tidak ditemukan** — nilai `DB_DATABASE` salah atau databasenya belum ada
* **MySQL tidak bisa dihubungi** — service MySQL di Laragon belum aktif
* **error karena format `.env` salah** — ada spasi atau karakter yang tidak sesuai

{% hint style="warning" %}
Jika Anda mengubah `.env`, biasakan langsung simpan file lalu restart server Laravel. Ini sering menjadi sumber masalah paling sederhana.
{% endhint %}

### Poin evaluasi bab 5.2

Pastikan Anda sudah memahami poin berikut:

* Saya paham file `.env` dipakai untuk menyimpan konfigurasi sensitif.
* Saya bisa membedakan file `.env` dan `.env.example`.
* Saya sudah mengatur `DB_DATABASE=e_library`.
* Saya paham arti dasar `DB_CONNECTION`, `DB_HOST`, `DB_PORT`, `DB_DATABASE`, `DB_USERNAME`, dan `DB_PASSWORD`.
* Saya tahu format `.env` tidak boleh memakai spasi di sekitar tanda `=`.
* Saya tahu server Laravel kadang perlu direstart setelah `.env` diubah.
* Saya sudah memastikan MySQL di Laragon aktif.

Jika semuanya sudah jelas, lanjut ke [5.3 Membuat File Migration Tabel](/laravel/bab-5-migration-and-seeder/5.3-membuat-file-migration-tabel.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/laravel/bab-5-migration-and-seeder/5.2-konfigurasi-database-di-.env.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
