Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 连接被拒绝-Laravel,远程数据库_Mysql_Database_Laravel - Fatal编程技术网

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

Mysql 连接被拒绝-Laravel,远程数据库,mysql,database,laravel,Mysql,Database,Laravel,在我的本地环境中,将数据插入数据库是可行的。但是,在我的远程服务器上,它不工作 我已经更改了remote.env和database.php文件,以便远程数据库和服务器能够正常工作。我可以通过mysqlworkbench连接到数据库,没有任何问题 但是,我得到以下错误: 异常:“照亮\数据库\查询异常” 文件:“/var/www/html/go/releases/1/vendor/laravel/framework/src/light/Database/Connection.php” 电话号码:6

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

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

但是,我得到以下错误:

异常:“照亮\数据库\查询异常” 文件:“/var/www/html/go/releases/1/vendor/laravel/framework/src/light/Database/Connection.php” 电话号码:664 消息:“SQLSTATE[HY000][2002]连接被拒绝(SQL:insert in
temp\u users
energy
diet
car
shortFlights
Longfights
国家/地区
总计
更新时间
创建时间
)值(1.13, 1.7, 0.55, 0, 0, test51@mail.com,荷兰,5.382019-09-1015:27:412019-09-1015:27:41 跟踪:[,…]

.env(将某些值替换为默认值,以保护隐私)

database.php(重要部分)


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

正如@PalakJadav正确指出的那样,远程
中的
DB\u HOST
。env
文件应更改为远程数据库服务器的远程IP或主机名。还应与数据库服务提供商核实其他参数也都是正确的

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

 php artisan config:cache
 php artisan config:clear
清除旧的缓存配置

 php artisan config:cache
 php artisan config:clear
最后,清除应用程序缓存

 php artisan cache:clear
现在可以重试mysql查询

更新

还记得在第一次将应用程序联机时迁移表

php artisan migrate

我面临的问题是,我的
mysql
用户
没有正确的权限

最后,我将其更改为使用
root登录mysql
-->这就是我如何发现
用户上缺少权限的原因

确保将
GRANT ALL ON laravel_database.*设置为'laravel_user'@'localhost';
设置为您登录的用户


拼写非常重要!!!因为我刚刚输入了一个拼写错误,这让我沮丧了好几天。

将DB\U主机更改为您的远程服务器IP,而不是localhost@PalakJadav当我将
DB_HOST
都更改为我的ip.run命令php artisan config:clearIt告诉我
无法打开输入文件:artisan时,我仍然存在相同的问题。我也从未使用过php artisan进行本地开发。这可能会有帮助。但是,为什么我需要重置本地缓存?这会影响我的远程服务器吗?只是问一下,因为问题从来都不是本地的,只是远程服务器上的问题。不知何故,与数据库的连接被拒绝了,我确实更改了我的
DB\u主机
,并且没有更改任何内容。所有登录详细信息等都正确,应该可以正常工作。提前感谢。在我的远程服务器上使用了Nginx。您的旧配置已被缓存。因此,在对
.env
文件应用正确更改后,缓存的配置仍在使用。您没有重置本地缓存,而是将其重新加载到ref选择在您的
.env
文件中所做的更改确定有趣的是,如果我手动替换了我的remote.env文件,它是否仍然使用缓存?我清除了缓存并将其部署到了我的服务器。但是它会给我相同的错误。哦!我认为您只是连接到远程数据库提供商。如果您在远程托管您的文件,就像我们一样LH,这与本地服务器无关。请更新您的远程
.env
文件,如果您可以通过ssh连接到远程服务器,请清除那里的缓存。对不起,我没有弄清楚您的问题。