簡體   English   中英

如何使用Laravel Framework 5.1在端口3308上連接MySQL數據庫?

[英]How to connect to MySQL database on port 3308 using laravel framework 5.1?

我正在嘗試第一次使用laravel。 我選擇位於config目錄中的database.php文件,然后更新mysql配置。

但是每次我嘗試執行此命令時,php artisan migrate:install

我收到此[PDOException] SQLSTATE [HY000] [2002]無法建立連接,因為目標計算機主動拒絕了它。

我必須讓laravel以某種方式連接到其他端口。

我嘗試了以下方法,但均無效果。

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', '10.15.1.5'),
        'port'      => '3308',
        'database'  => env('DB_DATABASE', 'mydb_dev'),
        'username'  => env('DB_USERNAME', 'user'),
        'password'  => env('DB_PASSWORD', 'pass'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

和這個

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', '10.15.1.5:3308'),
        'database'  => env('DB_DATABASE', 'mydb_dev'),
        'username'  => env('DB_USERNAME', 'user'),
        'password'  => env('DB_PASSWORD', 'pass'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

和這個

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', '10.15.1.5'),
        'port'      => env('DB_PORT', '3308'),
        'database'  => env('DB_DATABASE', 'mydb_dev'),
        'username'  => env('DB_USERNAME', 'user'),
        'password'  => env('DB_PASSWORD', 'pass'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

最后,我嘗試了這個

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => '10.15.1.5:3308',
        'database'  => env('DB_DATABASE', 'mydb_dev'),
        'username'  => env('DB_USERNAME', 'user'),
        'password'  => env('DB_PASSWORD', 'pass'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

這給了我一個不同的錯誤

Access denied for user 'homestead'@'10.xxxxxx' (using password: YES)

我不確定用戶homestead是哪里來的。

如何告訴laravel在端口3308上連接到mysql?

我發現了問題。 .env文件需要使用正確的信息進行更新

我知道您已經知道了,但是在您提供的所有嘗試中,您給出的答案尚不清楚。 對於未來的人們,這里是您需要的:

(這是假設Laravel 5.1使用Postgres DB,但應該與Laravel的替代版本和不同的DBs一起使用...此外,不要介意我的database.php與您的替代/不同的配置設置,這些用於高級配置。)

在您的config/database.php添加一個'port'部分,如下所示:

        'pgsql' => [
        'read' => [
            'host' => env('DB_READ', 'localhost')
        ],
        'write' => [
            'host' => env('DB_WRITE', 'localhost')
        ],
        'port'      => env('DB_PORT', '5432'),
        'driver'   => 'pgsql',
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset'  => 'utf8',
        'prefix'   => '',
        'schema'   => env('DB_SCHEMA', 'public'),
        'options'  => array(
            PDO::ATTR_PERSISTENT => env('DB_PERSISTENT', false),
        ),
    ],

然后,在您的.env您可以覆蓋port設置,如下所示:

DB_PORT=32769

暫無
暫無

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

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