Menghubungkan Laravel Dengan Database Kedua - Perwira Learning center

Posted by Jr on April 29, 2026 with No comments

 


Latar Belakang

Dalam pengembangan aplikasi monitoring, terkadang data tidak hanya berasal dari satu database. Misalnya, kita ingin mengambil data dari sistem lain atau memisahkan database utama dengan database log/monitoring. Laravel menyediakan fitur multiple database connection yang memungkinkan kita terhubung ke lebih dari satu database dalam satu aplikasi.

Alat dan Teknologi

Beberapa alat yang digunakan:

  • PHP

  • Laravel Framework

  • MySQL / MariaDB

  • Composer

  • Web Server (Apache/Nginx)

Konsep Multiple Database

Laravel memungkinkan kita mendefinisikan beberapa koneksi database dalam file konfigurasi. Setiap koneksi dapat digunakan sesuai kebutuhan, misalnya:

  • Database utama (mysql)

  • Database kedua (second_mysql)

Menambahkan Konfigurasi Database Kedua

Tambahkan konfigurasi database kedua pada file .env:

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

SECOND_DB_HOST=127.0.0.1
SECOND_DB_PORT=3306
SECOND_DB_DATABASE=second_database
SECOND_DB_USERNAME=root
SECOND_DB_PASSWORD=

Kemudian buka file config/database.php dan tambahkan koneksi baru:

'connections' => [

    'mysql' => [
        'driver' => 'mysql',
        // konfigurasi default
    ],

    'second_mysql' => [
        'driver' => 'mysql',
        'host' => env('SECOND_DB_HOST', '127.0.0.1'),
        'port' => env('SECOND_DB_PORT', '3306'),
        'database' => env('SECOND_DB_DATABASE', 'forge'),
        'username' => env('SECOND_DB_USERNAME', 'forge'),
        'password' => env('SECOND_DB_PASSWORD', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
    ],

],

Menggunakan Koneksi Database Kedua

Setelah konfigurasi selesai, kita bisa menggunakan koneksi tersebut dengan Query Builder:

use Illuminate\Support\Facades\DB;

$data = DB::connection('second_mysql')
    ->table('users')
    ->get();

return $data;

Contoh Penggunaan

Misalnya kita ingin mengambil total user dari database kedua:

$totalUser = DB::connection('second_mysql')
    ->table('users')
    ->count();

Penjelasan Kode

  • DB::connection('second_mysql') digunakan untuk memilih koneksi database kedua

  • Query selanjutnya akan dijalankan pada database tersebut

  • Bisa digunakan untuk semua operasi (select, insert, update, delete)

Kelebihan Pendekatan Ini

  • Mendukung integrasi dengan sistem lain

  • Memisahkan data sesuai kebutuhan (misalnya log dan utama)

  • Fleksibel dalam pengolahan data multi-source

  • Tetap menggunakan Query Builder yang sama

Catatan Penting

  • Pastikan konfigurasi .env sudah benar (host, database, username, password)

  • Gunakan nama koneksi yang konsisten (second_mysql)

  • Perhatikan performa jika sering berpindah koneksi database

  • Jalankan php artisan config:cache setelah mengubah konfigurasi

Pengembangan Lanjutan

Fitur ini bisa dikembangkan dengan:

  • Mengambil data lintas database untuk dashboard monitoring

  • Sinkronisasi data antar database

  • Menggunakan Eloquent Model dengan koneksi berbeda

  • Integrasi dengan API eksternal

Kesimpulan

Menghubungkan Laravel dengan database kedua sangat mudah dengan fitur multiple connection. Dengan menggunakan DB::connection('second_mysql'), kita dapat mengakses database lain secara fleksibel dan efisien, terutama dalam sistem monitoring yang membutuhkan data dari berbagai sumber.

Daftar Pustaka

Laravel Documentation. (2025). "Database: Configuration". Diakses dari https://laravel.com/docs/database
Laravel Documentation. (2025). "Query Builder". Diakses dari https://laravel.com/docs/queries
W3Schools. (2025). "MySQL Connections". Diakses dari https://www.w3schools.com/php/php_mysql_connect.asp