mysql - 连接被拒绝 - Laravel,远程数据库
问题描述
在我的本地环境中,将数据插入我的数据库是可行的。但是在我的远程服务器上它不起作用。
我已经更改了我的远程 .env 和 database.php 文件,以便我的远程数据库和服务器可以正常工作。我可以通过 连接到数据库mysqlworkbench
,没有任何问题。
但是我收到以下错误:
异常:“Illuminate\Database\QueryException”文件:“/var/www/html/go/releases/1/vendor/laravel/framework/src/Illuminate/Database/Connection.php”行:664 消息:“SQLSTATE[HY000 ] [2002] 连接被拒绝 (SQL: insert into
temp_users
(energy
,diet
,car
,shortFlights
,longFlights
,country
,total
,updated_at
,created_at
) 值 (1.13, 1.7, 0.55, 0, 0, test51@mail.com, 荷兰, 5.38, 2019-09-10 15 :27:41, 2019-09-10 15:27:41))" 跟踪: [,…]
.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 正确指出的那样,DB_HOST
在您的远程 .env
文件中应该更改为远程数据库服务器的远程IP 或主机名。还要与您的数据库服务提供商核实其他参数是否正确。
对文件进行更改后.env
,通过安全 shell 进入远程服务器。从你的远程服务器根目录,运行php artisan
命令重新加载你的 laravel 配置
php artisan config:cache
清除旧的缓存配置
php artisan config:clear
最后,清除您的应用程序缓存
php artisan cache:clear
您现在可以重试 mysql 查询。
更新
还记得在您第一次将应用程序上线时迁移您的表
php artisan migrate
推荐阅读
- matrix - Create Matrix from tdbc::odbc $resultset allrows -as lists
- javascript - React how to highlight multiple components by using 1 ref
- c# - dotnetzip 创建空的损坏文件
- jestjs - Jest 的 --findRelatedTests 没有注意到 JSON 文件
- webhooks - Microsoft Teams,传入 Webhook 连接器,配置保存 403 错误
- python - 如果键相同,则相交两个字典python以获取两个字典的共同元素的有效方法
- angular-material - 输入在 Angular Material 扩展面板中不起作用。无法添加空间
- java - on Activity 创建恢复微调器对象
- java - 运行 EMR 时出现“错误:无法找到或加载主类”?
- python - 为什么 lambda 无法识别实例的属性?