我想使用來自另一臺服務器的資料庫到我的本地主機 laravel 專案。我配置 .env 檔案和 config\database.php 檔案,如下所示。我可以訪問我的本地資料庫,但無法訪問外部資料庫。我收到錯誤訊息:“SQLSTATE[HY000] [1045] 用戶 'ExecUser'@'localhost' 訪問被拒絕(使用密碼:YES)(SQL:select * from value_list) ”
DB_CONNECTION_SECOND=mysql
DB_HOST_SECOND=180.48.10.222
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=nsu
DB_USERNAME_SECOND=ExeUs
DB_PASSWORD_SECOND=******
'mysql2' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '180.48.10.222'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE_SECOND', 'forge'),
'username' => env('DB_USERNAME_SECOND', 'forge'),
'password' => env('DB_PASSWORD_SECOND', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
uj5u.com熱心網友回復:
由于您使用的是第二個連接,因此您還必須更改第二個連接的主機和 url 配置。目前的問題是url和host指向 localhostDB_HOST和DB_PORT.env 變數。
它們應該分別指向DB_HOST_SECOND和DB_PORT_SECOND。
uj5u.com熱心網友回復:
根本原因:您忘記更改主機,埠以托管另一個。
請更新以下相同的代碼:
'mysql2' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST_SECOND'),
'port' => env('DB_PORT_SECOND'),
'database' => env('DB_DATABASE_SECOND'),
'username' => env('DB_USERNAME_SECOND'),
'password' => env('DB_PASSWORD_SECOND'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/372196.html
