Mysql 拉雷维尔&引用;SQLSTATE[HY000][2002]连接被拒绝”;

Mysql 拉雷维尔&引用;SQLSTATE[HY000][2002]连接被拒绝”;,mysql,database,laravel,homestead,Mysql,Database,Laravel,Homestead,我在OSX主机上使用Sequel Pro设置了homestead 2.0 我可以在Sequel Pro中进行迁移并确认数据已迁移,所以看起来DB连接没有问题 但一旦我尝试从Laravel4.2应用程序中获取数据,它就无法检索数据,并出现以下错误 PDOException (2002) SQLSTATE[HY000] [2002] Connection refused 这是我的mysql配置 'mysql' => array( 'driver' =>

我在OSX主机上使用Sequel Pro设置了homestead 2.0

我可以在Sequel Pro中进行迁移并确认数据已迁移,所以看起来DB连接没有问题

但一旦我尝试从Laravel4.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'    => ''
Sequel pro的设置同上

Name: 127.0.0.1    
Host: 127.0.0.1
Username: homestead
Password: secret
Database:     
Port: 33060
我试着把主机名改成“localhost”,家园被摧毁了,但没有工作。
为什么?任何建议都有帮助。

我也有同样的问题,我不知道为什么会发生这种情况。 然而变化

'host'      => '127.0.0.1',

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

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

试试看,它可能对您有用

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

DB_HOST=127.0.0.1
DB_PORT=3306
为此:

DB_HOST=localhost
DB_PORT=33060

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

出于某种原因,我遇到了同样的问题,上述两种方法都不起作用。对我来说,我在环境中尝试过这个。我把DB_主机改为homestead.local。Homstead是我网站的名称。这起作用了

DB_HOST=homestead.local

我解决了在Laravel的.env文件的host参数中将地址127.0.1.1替换为localhost的问题。我正在使用GNU/Linux Debian 8、Laravel 5.6.3、PHP7.1.8、Apache2.4.27和(Mysql)10.1.26-MariaDB

我通过更新mariadb解决了这个问题。我已经用“brew Outlated”检查了过时的内容,然后用“brew upgrade mariadb”更新了mariadb,问题已经解决。希望这对您有用。

MySQL的端口通常是
3306
,而不是
33060
。不过,您的系统设置可能有所不同。仔细检查。
33060
对于Sequel是正确的,因为这是homestead VM转发到主机的端口。对于你的应用程序,你需要
3306
,因为它在homestead VM内运行。将续集更改为“33060”和homestead端口“3306”,但没有工作。这是否回答了你的问题?这是因为localhost可以是127.0.0.1或::1127.0.0.1=>连接被拒绝,localhost=>没有文件或目录,我认为127.0.0.1是“更好”的错误
DB_HOST=homestead.local