【问题标题】:Doctrine db connection issues教义数据库连接问题
【发布时间】:2013-02-07 06:04:25
【问题描述】:

尝试连接到不同服务器中的数据库:

命令行

php symfony configure:database "mysql:host=<IP>;dbname=<db_name>" <username> <password>  

Databases.yml

  all:   
    doctrine:     
    class: sfDoctrineDatabase     
      param:       
      dsn: 'mysql:host=<IP>;dbname=<db_name>'
      username: <username>       
      password: <password>  

得到错误:

PDO连接错误:SQLSTATE[HY000] [2002]连接尝试失败,因为连接方一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应

【问题讨论】:

  • 您是否尝试过从命令行连接到该服务器?对我来说,这听起来更像是 sql server 端的问题。
  • 是的,从命令行尝试..尝试连接到两个不同的服务器,同样的错误..是否需要在服务器中更改任何配置以允许远程访问?

标签: php mysql doctrine symfony-1.4


【解决方案1】:

您需要从该主机授予用户访问权限。像

GRANT ALL ON mydb.* TO 'someuser'@'somehost';

更多here.

【讨论】:

  • 谢谢,这适用于其中一台服务器。但是,其他服务器在授予访问权限后仍然返回相同的错误。这可能是由于服务器上的防火墙设置造成的吗?
  • 服务器是否设置为监听您要连接的 IP?无论是这个还是一些防火墙......
  • 防火墙似乎没问题,我咨询了网络管理员。我们可以从我们的 IP 对服务器进行 PING。请让我知道如何检查服务器是否正在侦听我们正在连接的 IP。
  • 在您的 cnf 文件中查找 bind-address。应该与您要连接的 IP 相同。还要寻找skip-networking。应该被注释掉(或不存在)。在这里查看更多详细信息:cyberciti.biz/tips/…
  • 抱歉让这个有点长。这是我的.cnf
【解决方案2】:
Apologies for making this a bit long. 
This is the server my.cnf                                                           

[mysqld]
# Settings user and group are ignored when systemd is used (fedora >= 15).
# If you need to run mysqld under different user or group, 
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
user=mysql

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Semisynchronous Replication
# http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html
# uncomment next line on MASTER
;plugin-load=rpl_semi_sync_master=semisync_master.so
# uncomment next line on SLAVE
;plugin-load=rpl_semi_sync_slave=semisync_slave.so

# Others options for Semisynchronous Replication
;rpl_semi_sync_master_enabled=1
;rpl_semi_sync_master_timeout=10
;rpl_semi_sync_slave_enabled=1

# http://dev.mysql.com/doc/refman/5.5/en/performance-schema.html
;performance_schema


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-06
    • 2013-07-30
    • 2016-07-12
    • 2012-02-29
    • 2011-05-19
    相关资源
    最近更新 更多