Laravel; “SQLSTATE[HY000] [2002] Connection refused”

我的未来我决定 提交于 2020-08-27 08:46:54

问题


I set up homestead 2.0 on OSX host and using Sequel Pro.

I can do migration and confirm that data are migrated in Sequel Pro, so it looks like no problem about DB connection.

But once I try to fetch data from Laravel 4.2 app, it fails to retrieve data and get following error.

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

Here is my mysql configuration.

'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 setting is same above,

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

I tried change host name to 'localhost', homestead destroy and up, but No work. Why?? Any suggestion helps.


回答1:


I had exactly the same issue and I'm not sure why this happens. However changing

'host'      => '127.0.0.1',

to

'host'      => 'localhost',

worked for me. Always simpler than what we expect!




回答2:


For other devs there who are running Laravel on it's latest version (5.3) I just change these lines:

DB_HOST=127.0.0.1
DB_PORT=3306

Into this:

DB_HOST=localhost
DB_PORT=33060

Obviously, 33060 will be converted into 3306 but can't explain by now why localhost should work.




回答3:


I solved the problem substituting the address 127.0.1.1 to localhost on the host parameter in the Laravel's .env file. I am working over GNU/Linux Debian 8, Laravel 5.6.3, PHP 7.1.8, Apache 2.4.27 and (Mysql) 10.1.26-MariaDB.




回答4:


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

Try this out it might work for you




回答5:


I encountered the same problem for some reason neither of the above worked. For me I tried this in .env I changed DB_HOST to homestead.local. Homstead being the name of my site. This worked.

DB_HOST=homestead.local



回答6:


I solved the problem by updating mariadb. I've checked what was outdated with 'brew outdated', then updated mariadb with 'brew upgrade mariadb' reload vagrant and issue was fixed. Hope this works for you.



来源:https://stackoverflow.com/questions/28385251/laravel-sqlstatehy000-2002-connection-refused

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!