Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Laravel MySql DB-Verbindung mit SSH

Hier ist eine praktikable Lösung für die Arbeit mit einer Datenbank, die auf einer EC2-Instanz über SSH mit einem Schlüssel gehostet wird.

Richten Sie zunächst eine entsprechende Verbindung in Ihrer Datenbankkonfiguration ein:

'mysql_EC2' => array(
        'driver'    => 'mysql',
        'host'      => '127.0.0.1:13306',
        'database' => 'EC2_website',
        'username' => 'root',
        'password' => 'xxxxxxxxxxxxxxxx',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

Bauen Sie zweitens einen Tunnel auf:

ssh -i ~/dev/awskey.pem -N -L 13306:127.0.0.1:3306 [email protected]

(Wir übergeben den SSH-Schlüssel an den i-Parameter und stellen eine SSH-Verbindung her, die an Port 13306 gebunden ist)

Drittens:Verwenden Sie die DB so, wie Sie es normalerweise in einer Laravel-App tun würden:

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

var_dump($users);