gpt4 book ai didi

mysql - 连接被拒绝 - Laravel,远程数据库

转载 作者:行者123 更新时间:2023-11-29 15:39:06 25 4
gpt4 key购买 nike

在我的本地环境中,将数据插入数据库是可行的。但是在我的远程服务器上它不起作用。

我已经更改了远程 .env 和 database.php 文件,以便我的远程数据库和服务器应该可以工作。我可以通过 mysqlworkbench 连接到数据库,没有任何问题。

但是我收到以下错误:

exception: "Illuminate\Database\QueryException" file: "/var/www/html/go/releases/1/vendor/laravel/framework/src/Illuminate/Database/Connection.php" line: 664 message: "SQLSTATE[HY000] [2002] Connection refused (SQL: insert into temp_users (energy, diet, car, shortFlights, longFlights, email, country, total, updated_at, created_at) values (1.13, 1.7, 0.55, 0, 0, test51@mail.com, Netherlands, 5.38, 2019-09-10 15:27:41, 2019-09-10 15:27:41))" trace: [,…]

.env(用默认值替换了一些值,以保护隐私)。

APP_NAME=thename
APP_ENV=production
APP_KEY=the key
APP_DEBUG=true
APP_LOG_LEVEL=error
APP_URL=theurl

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=thedatabasename
DB_USERNAME=theusername
DB_PASSWORD=thepassword

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=localhost
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

database.php(重要部分)

'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'thedatabasename'),
'username' => env('DB_USERNAME', 'theusername'),
'password' => env('DB_PASSWORD', 'thepassword'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
],

数据库名称正确。该表存在,所有字段也存在。提前致谢。

最佳答案

正如 @PalakJadav 正确指出的那样,remote .env 文件中的 DB_HOST 应更改为远程 IP 或主机名数据库服务器。另请咨询您的数据库服务提供商,确保其他参数也正确。

.env 文件进行更改后,通过安全 shell 进入远程服务器。从远程服务器根目录运行 php artisan 命令来重新加载 laravel 配置

 php artisan config:cache

清除旧的缓存配置

 php artisan config:clear

最后,清除应用程序缓存

 php artisan cache:clear

您现在可以重试 mysql 查询。

更新

还记得在首次将应用程序放到网上时迁移您的表

php artisan migrate

关于mysql - 连接被拒绝 - Laravel,远程数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com