0

I'm trying to create database through doctrine.

php app/console doctrine:database:create

When I run the command above, I receive the following errors:

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



[Doctrine\DBAL\Driver\PDOException]        
SQLSTATE[HY000] [2002] Connection refused  



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

What I have tried

This symbolic link creation did not work for me.

sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock

I've tried with both database_host: localhost and database_host: 127.0.0.1 nothing changed.

I know that my MySQL port is 8889 as I can see on MAMP.

I could not check the option Allow network access to MySQL under MySQL tab on MAMP since I do not have MAMP Pro

Here are my configuration files

config.yml

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: services.yml }
    - { resource: "@FatihTestBundle/Resources/config/services.yml" }

# Put parameters here that don't need to change on each machine where the app is deployed
# http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
    locale: en

framework:
    #esi:             ~
    #translator:      { fallbacks: ["%locale%"] }
    secret:          "%secret%"
    router:
        resource: "%kernel.root_dir%/config/routing.yml"
        strict_requirements: ~
    form:            ~
    csrf_protection: ~
    validation:      { enable_annotations: true }
    #serializer:      { enable_annotations: true }
    templating:
        engines: ['twig']
    default_locale:  "%locale%"
    trusted_hosts:   ~
    trusted_proxies: ~
    session:
        # handler_id set to null will use default session handler from php.ini
        handler_id:  ~
    fragments:       ~
    http_method_override: true

# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    cache: false

# Doctrine Configuration
doctrine:
    dbal:
        driver:   pdo_mysql
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8
        # if using pdo_sqlite as your database driver:
        #   1. add the path in parameters.yml
        #     e.g. database_path: "%kernel.root_dir%/data/data.db3"
        #   2. Uncomment database_path in parameters.yml.dist
        #   3. Uncomment next line:
        #     path:     "%database_path%"

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true

# Swiftmailer Configuration
swiftmailer:
    transport: "%mailer_transport%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    spool:     { type: memory }

parameters.yml:

# This file is auto-generated during the composer install
parameters:
    database_host: localhost
    database_port: 8889
    database_name: todo
    database_user: root
    database_password: root
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    secret: fgnfgmngfm
9
  • Have you verified the MySQL user/pass by running from the command line: mysql -u root -p and that you are able to login, and that the database todo has already been created? Commented Nov 4, 2016 at 17:49
  • after I tried to run this command mysql -u root -p, I received this -bash: mysql: command not found. Then I copied the file /Applications/MAMP/Library/bin/mysql as /usr/local/bin/mysql then I ran the same command, I successfully logged in. mysql> show databases showed todo as output. Commented Nov 4, 2016 at 18:00
  • In my config, it has database_port set to null. I wonder if you can try that. I'm thinking it may know about the port already. Commented Nov 4, 2016 at 18:04
  • it did not help either. it was null at first anyway. I tried sth else. I went to php.ini, uncommented this line extension=php_pdo_mysql.dll. now I receive this error Unable to load dynamic library '/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/no-debug-non-zts-20151012/php_pdo_mysql.dll' - dlopen(/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/no-debug-non-zts-20151012/php_pdo_mysql.dll, 9): image not found in Unknown on line 0 Commented Nov 4, 2016 at 18:25
  • I presume you are running Symfony2; can you run php app/check.php from the command line to see if all requirements are met? I'm not certain this is related to the problem though - but it's good to check. Commented Nov 4, 2016 at 18:34

2 Answers 2

1
php app/console cache:clear

The problem was because of cache, I received error messages not matter what I did. The command above that clears the cache and changing the database port to 3306 in both MAMP and paramteters.yml has solved the problem.

Sign up to request clarification or add additional context in comments.

2 Comments

Wow, I gave you all those suggestions (without an upvote) and it turned out you used the default port and it works. Regardless, glad you got it working!
@Fatih Please don't forget to clear cache after changing config parameters of symfony application.
0

Check your DNS settings. If you are not using a VPN, turn it off.

You can test the connection with "Sequel PRO"

Hostname : localhost - 127.0.0.1 - IP Adress

Password : 1234 - root

If they do not solve the problem check the user permissions. enter image description here

mysql database -> user table

5 Comments

What do you mean by "If you are not using a VPN, turn it off"?
VPN applications route all traffic and there may be a connection problem.
Well, what I don't understand is if I am not using a VPN, how can I possibly turn it off? I have a VPN configured but it is off. prntscr.com/d33xiu
Try changing the database port to MySQL by default. 3306
After I changed db port to 3306, the error message has changed to this. [Doctrine\DBAL\Exception\ConnectionException] An exception occured in driver: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.