簡體   English   中英

如何使用ssh在Laravel 5中連接遠程數據庫

[英]How to Connect Remote Database in Laravel 5 using ssh

我正在使用Laravel 5.0。 我想知道如何使用SSH訪問遠程數據庫。

為database.php

'mysql' => [
            'driver'    => 'mysql',
            'host'      => 'www.xxxxx.in',
            'port' => '2222',
            'database'  => 'xxxx_xxx',
            'username'  => 'xxxxx_xx',
            'password'  => 'xxxx0xx',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
            'engine'    => null,
        ],

您應該創建SSH隧道。

有關SSH隧道的更多信息以及此處的一些示例: http//chxo.com/be2/20040511_5667.html

例:

ssh -fNg -L 3307:127.0.0.1:3306 myuser@remotehost.com
mysql -h 127.0.0.1 -P 3307 -u dbuser -p db

當然,那么你需要更改憑據:

'mysql' => [
            'driver'    => 'mysql',
            'host'      => 'www.xxxxx.in',
            'port'      => '3307',
            'database'  => 'xxxx_xxx',
            ...
        ],

Alexey說,你需要創建一個SSH隧道。

您還需要將MySQL連接端口移植到本地; 正如阿列克謝所做的那樣。

然后在Laravel配置中,將端口設置為轉發端口。 因此,基於Alexey的答案,您的數據庫配置將如此

'mysql' => [
      'driver'    => 'mysql',
      'host'      => 'www.xxxxx.in',
      'port'      => '3307',
      'database'  => 'xxxx_xxx',
      'username'  => 'xxxxx_xx',
      'password'  => 'xxxx0xx',
      'charset'   => 'utf8',
      'collation' => 'utf8_unicode_ci',
      'prefix'    => '',
      'strict'    => false,
      'engine'    => null,
],

編輯
如果Alexey的回答消失了,這些是我答案的相關部分

創建ssh隧道

ssh -fNg -L 3307:127.0.0.1:3306 myuser@remotehost.com

使用本地連接

mysql -h 127.0.0.1 -P 3307 -u dbuser -p db

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM