propel:database:create 用户 'user'@'localhost' 的访问被拒绝

propel:database:create access denied for user 'user'@'localhost'

对于我的 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

推进包:1.2.13

怎么回事?

试试这些步骤

  1. 使用有效的用户名和密码配置config/databases.yml。确保您在此处使用正确的密码和端口
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,则可以阻止连接。尝试禁用它,尽管对于那些喜欢系统安全性的人来说不是最佳选择