Symfony 2 SQLSTATE [HY000] [2002]连接被拒绝错误

kem*_*mal 14 pdo doctrine symfony dbal

我得到一个错误,如使用Symfony2的数据库操作.

SQLSTATE[HY000] [2002] Connection refused
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

和控制台:

Kemal-Karakass-MacBook-Pro:~ kemalkarakas$ locate mysql.sock
/private/var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

我该如何解决错误?

小智 36

我遇到了同样的问题并修改了它

database_host: 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

database_host: localhost
Run Code Online (Sandbox Code Playgroud)

在parameters.yml中

希望这会有所帮助


Mar*_*hli 14

您可以在config.yml中使用参数unix_socket.

查看完整配置示例:

# 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
Run Code Online (Sandbox Code Playgroud)

  • 如上面的评论所述,他想通过ip:端口连接,而不是通过套接字,但这可能肯定有助于其他人:) (2认同)

Tri*_*mad 14

在使用Mamp Pro的Mac OSX上,为我解决问题的是访问 UI上的MySQL选项卡并选中允许网络访问MySQL的选项

不要忘记单击" 保存"以更新设置

在此输入图像描述


Ema*_*jar 7

我使用MAMP时遇到了同样的问题,因为默认端口不是3306而是8889.

您可以在MAMP起始网页中找到该信息.

我的参数

3306


Kai*_*are 5

这有点愚蠢,但是我在这篇文章中搜索了同样的错误,因此也许可以帮助某人。

如果您有此连接被拒绝的错误,请仔细检查您的数据库是否已启动并正在运行,就我而言,我只是忘记打开MAMP的电源...