I get an error like database operations using Symfony2.
SQLSTATE[HY000] [2002] Connection refused
parameters.yml
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: '8889'
database_name: symfony
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: tr
secret: ef9b4381fe75208f060b7c786951242bebcfb3c2
database_path: /private/var/mysql/mysql.sock
And console:
Kemal-Karakass-MacBook-Pro:~ kemalkarakas$ locate mysql.sock
/private/var/mysql/mysql.sock
How do I resolve the error?
On Mac OSX using Mamp Pro, what solved the problem for me was going to the MySQL tab on the UI and checking the option Allow network access to MySQL
Don't forget to click Save to update the settings
Running on MAMP, this is what configuration of /app/config/parameters.yml that worked for me:
I lost quite some time with
database_host: localhost
, which didn't work.Beginners Tips:
Don't forget to remove the semicolon
;
to enableextension=php_pdo_mysql.dll
in php.ini (in application/MAMP/conf/phpX.X.X - check your current version in MAMP settings) and/or in php.ini and/or php.ini.default in Macintosh HD/private/etc (use spotlight search to find this hidden file).Had this issue "SQLSTATE[HY000] [2002] No such file or directory" on symfony 3.2.9 on deployment
I fixed it by changing the database_host value from "localhost" to my server IP on my parameters.yml file
but I had this another error message when trying to run commandline by SSH:
I finaly fix it by adding these 2 lines on my config.yml file in Doctrine configuration section :
all my final doctrine configuration is like this:
hopefully this helps
After seeing the answers and playing around with this myself I figured out the problem:
The default installation of LAMPP, MAMPP has the following in the my.cnf file:
skip-networking
This means that mysql will not listen on TCP/IP so you can tell doctrine to try any port in the 64K and it won't do any good until you comment out the directive above and get mysql to listen to TCP/IP ports.
Please ensure you restart LAMPP, MAMPP or reload mysql after commenting out the
skip-networking
directive.Today on a fresh installation of Symfony3 I had the same error:
Installation specs:
An earlier answer by izus did resolve the problem on my server. He suggests to change the parameter
database_host
from127.0.0.1
tolocalhost
in the Symfony configuration fileapp/config/parameters.yml
The real origin of the problem was not inside Symfony configuration, but authorization inside the database server. I've created the database and authorization for this database by executing the following SQL queries:
This query implies only the host 'localhost' is authorized. This doesn't match '127.0.0.1' exactly. The database server rejects the incomming connection, and Symfony is throwing an exception and showing this error message.
Possible solutions to this specific situation: