Symfony 2 SQLSTATE[HY000] [2002] Connection refused Error

前端 未结 12 2336
耶瑟儿~
耶瑟儿~ 2020-12-15 07:31

I get an error like database operations using Symfony2.

SQLSTATE[HY000] [2002] Connection refused

parameters.yml

parameters         


        
相关标签:
12条回答
  • 2020-12-15 07:39

    There is a parameter unix_socket you can use within your config.yml.

    See full configuration example:

    # Doctrine Configuration
    doctrine:
        dbal:
            default_connection: default
            connections:
                default:
                    driver:   %database_driver%
                    dbname:   %database_name%
                    user:     %database_user%
                    host:     %database_host%
                    password: %database_password%
                    unix_socket: /tmp/mysql.sock
    
    0 讨论(0)
  • 2020-12-15 07:39

    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:

    [Doctrine\DBAL\Exception\ConnectionException]
      An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused
    

    I finaly fix it by adding these 2 lines on my config.yml file in Doctrine configuration section :

    unix_socket: /var/lib/mysql/mysql.sock
    server_version: '5.5'
    

    all my final doctrine configuration is like this:

    doctrine:
        dbal:
            driver: pdo_mysql
            host: '%database_host%'
            port: '%database_port%'
            dbname: '%database_name%'
            user: '%database_user%'
            password: '%database_password%'
            unix_socket: /var/lib/mysql/mysql.sock
            server_version: '5.5'
            charset: UTF8
    

    hopefully this helps

    0 讨论(0)
  • 2020-12-15 07:42

    If anyone is still stuck on this issue when using a virtual environment, I found if you are attempting to run database commands on the host machine and running into the "connection refused" error, try ssh-ing into your guest machine and running the commands directly so the path to mysql.sock is correct.

    (I guess it makes sense that the relative path needs to be on the virtual guest machine, not the host machine).

    0 讨论(0)
  • 2020-12-15 07:42

    Running on MAMP, this is what configuration of /app/config/parameters.yml that worked for me:

    parameters:
        database_host: '127.0.0.1'
        database_port: '8889'
        database_name: test
        database_user: root
        database_password: root
    

    I lost quite some time with database_host: localhost, which didn't work.

    Beginners Tips:

    Don't forget to remove the semicolon ; to enable extension=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).

    0 讨论(0)
  • 2020-12-15 07:44

    Configuring symfony2/doctrine to connect to MySQL using host:port

    • comment out doctrine.dbal.path: %database_path% in app/config/config.yml
    • remove/comment out the parameter database_path from app/config/parameters.yml
    • check your configuration files for correct indentation
    • wrap either none of the values in app/config/parameters.yml single quotes or put all in double quotes.

    Afterwards your configuration should look like this:

    Parameters

    # app/config/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"
    
        # comment out or remove
        # database_path: ~
    

    Configuration

    # app/config/config.yml
    
    # ...
    doctrine:
        dbal:
            driver:   %database_driver%
            host:     %database_host%
            port:     %database_port%
            dbname:   %database_name%
            user:     %database_user%
            password: %database_password%
            charset:  UTF8
    
            # path is for pdo_sqlite: i.e. %kernel.root_dir%/data/data.db3
            # comment it out !
            # path:   ~
    
    0 讨论(0)
  • 2020-12-15 07:48

    In MAMP PRO I have activated "Allow Network Access to mysql" and my "php artisan migrate" is working now for that special app.

    0 讨论(0)
提交回复
热议问题