Laravel; “SQLSTATE [HY000] [2002]连接被拒绝”

问题描述 投票:3回答:5

我在OSX主机上设置了Homestead 2.0并使用了Sequel Pro。

我可以进行迁移并确认数据是在Sequel Pro中迁移的,所以看起来没有关于数据库连接的问题。

但是一旦我尝试从Laravel 4.2应用程序获取数据,它就无法检索数据并导致跟踪错误。

PDOException (2002) 
SQLSTATE[HY000] [2002] Connection refused

这是我的mysql配置。

'mysql' => array(
            'driver'    => 'mysql',
            'host'      => '127.0.0.1',
            'port'      => '33060',
            'database'  => 'homestead',
            'username'  => 'homestead',
            'password'  => 'secret',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => ''

续集专业版设置如上,

Name: 127.0.0.1    
Host: 127.0.0.1
Username: homestead
Password: secret
Database:     
Port: 33060

我尝试将主机名改为'localhost',宅基地摧毁并向上,但没有工作。为什么??任何建议都有帮助。

mysql database laravel homestead
5个回答
12
投票

我有完全相同的问题,我不确定为什么会这样。然而变化

'host'      => '127.0.0.1',

'host'      => 'localhost',

为我工作。总是比我们期望的更简单!


1
投票

对于那些在Laravel上运行最新版本(5.3)的其他开发人员,我只需更改这些行:

DB_HOST=127.0.0.1
DB_PORT=3306

进入:

DB_HOST=localhost
DB_PORT=33060

显然,33060将被转换为3306,但现在无法解释为什么localhost应该工作。


1
投票

我解决了在Laravel的.env文件中将地址127.0.1.1替换为localhost的问题。我正在研究GNU / Linux Debian 8,Laravel 5.6.3,PHP 7.1.8,Apache 2.4.27和(Mysql)10.1.26-MariaDB。


0
投票
'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'homestead',
            'username'  => 'homestead',
            'password'  => 'secret',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => ''

试试这个它可能对你有用


0
投票

我出于某种原因遇到了同样的问题。对我来说,我在.env中尝试了这个。我将DB_HOST更改为homestead.local。霍姆斯特德是我的网站的名称。这很有效。

DB_HOST=homestead.local
© www.soinside.com 2019 - 2024. All rights reserved.