Mysql 拉雷维尔&引用;SQLSTATE[HY000][2002]连接被拒绝”;
我在OSX主机上使用Sequel Pro设置了homestead 2.0 我可以在Sequel Pro中进行迁移并确认数据已迁移,所以看起来DB连接没有问题 但一旦我尝试从Laravel4.2应用程序中获取数据,它就无法检索数据,并出现以下错误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' =>
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