Laravel; “SQLSTATE [HY000] [2002]连接被拒绝”
我在OSX主机上设置了homestead 2.0并使用Sequel Pro。Laravel; “SQLSTATE [HY000] [2002]连接被拒绝”
我可以做迁移并确认数据是在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
我试图改变主机名称为“本地主机”,宅基地和破坏,但没有工作。 为什么?任何建议都有帮助。
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'homestead',
'username' => 'homestead',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => ''
尝试了这一点,可能对你
对于其他的开发者还有谁是在其上运行Laravel作品的最新版本(5.3),我只是更改这些行:
DB_HOST=127.0.0.1
DB_PORT=3306
进入这个:
DB_HOST=localhost
DB_PORT=33060
显然,33060
将被转换成3306
,但现在不能解释为什么localhost
应该工作。
这对我没有用。 – Ryan 2017-04-05 13:49:58
由于某种原因,上述两种工作方式都遇到了同样的问题。对我而言,我在.env中尝试了这一点,我将DB_HOST更改为homestead.local。霍姆斯特德是我的网站的名字。这工作。
DB_HOST=homestead.local
我解决了在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。
MySQL的端口通常是'3306',而不是'33060'。不过,您可能会以不同的方式设置您的系统。仔细检查一下。 – 2015-02-07 18:18:04
'33060'对于续集是正确的,因为这是宅基地虚拟机转发到主机的端口。对于你的App,你需要'3306',因为它在宅基地虚拟机内部运行。 – cgross 2015-02-07 20:20:28
将续集更改为“33060”和宅基地端口“3306”,但没有工作。 – Hanimar 2015-02-08 01:32:03