推进:数据库:为用户'用户'创建访问权限''localhost'

时间:2015-04-12 11:22:25

标签: php mysql symfony propel

对于我的Symfony2项目,我使用Propel和MySQL。

当我在服务器上部署它并运行时:

php app/console propel:database:create --env=prod

我收到了这个错误:

[Propel] Exception caught

Unable to open PDO connection [wrapped: SQLSTATE[28000] [1045] Access denied for user 'user'@'localhost' (using password: YES)]

这真的很奇怪,因为当我使用完全相同的主机,用户和密码运行MySQL CLI时,它可以正常工作。

$ mysql -h localhost -u user -p

Propel-bundle:1.2.13

发生了什么?

1 个答案:

答案 0 :(得分:1)

尝试以下步骤

  1. 使用工作用户名和密码配置config/databases.yml 。确保您使用的是正确的密码和端口
  2. propel:
        class: sfPropelDatabase
        param:
          classname: PropelPDO
          dsn: 'mysql:dbname=your-database-name;host=localhost'
          port :  3306
          username:         user
          password :        your-password
          encoding:         utf8
          persistent:       true
          pooling:          true
    
    1. 禁用SELnux:如果启用了SELinux,则会阻止连接。尝试禁用它,尽管不是那些喜欢系统安全性的人的最佳选择