I am receiving the following error on my localhost for Laravel 4.1 (using MAMP)
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (61)
It points to:
/Applications/MAMP/htdocs/crowdsets/laravel-master/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php
This is the function it is pointing to:
public function createConnection($dsn, array $config, array $options)
{
$username = array_get($config, 'username');
$password = array_get($config, 'password');
return new PDO($dsn, $username, $password, $options);
}
Up to this point, I had not received this error.
I have a local environment and production environment set up (the default).
in config/local/database.php I have:
'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'database',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
An error like that means the server itself is not even reachable. Did you start MySQL in MAMP?
Also, how have you started MAMP? With the standard MySQL
3306
port? Or the alternative port MAMP uses for non-admins:8889
?I bet your server is running, but is attempting to connect to
3306
so you need to set the port to8889
. Change your config to be like this; note the addition of theport
param:EDIT: I just found this question thread that addresses the issue of connecting Laravel to MAMP via port
8889
.