PHP + Zend + PDO + MySQL

MySQL, PHP, Uncategorized No Comments

Hoje eu estava fazendo um site utilizando php, Zend Framework, PDO e MySQL.

Quando fui fazer uma tela que se conectava com o banco de dados, ocorria o seguinte erro:

SQLSTATE[HY000] [2005] Unknown MySQL server host ''localhost'' (1)

Removi do arquivo de configuração a linha que informava o host onde estava o banco de dados e o erro passou a ser:

SQLSTATE[28000] [1045] Access denied for user 'user'@'localhost' (using password: YES)

Não, as permissões não estavam erradas. O problema todo era o arquivo de configuração do zend (application.ini), que estava assim:

resources.db.params.host = 'localhost'
resources.db.params.username = 'user'
resources.db.params.password = 'pass'
resources.db.params.dbname = 'db'

O problema todo era as aspas simples, deveriam ser aspas duplas:

resources.db.params.host = "localhost"
resources.db.params.username = "user"
resources.db.params.password = "pass"
resources.db.params.dbname = "db"

Acabei perdendo a manhã toda até achar este pequeno problema.

MySQL não responde para outras máquinas

Programação No Comments

Se você estiver tendo algum problema ao tentar conectar ao MySQL de outra máquina, basta alterar o arquivo “my.cnf” localizado no diretório “/etc/mysql” e comentar a seguinte linha:

bind-address = 127.0.0.1

No caso, ela ficará da seguinte maneira:

#bind-address = 127.0.0.1

Após alterar o arquivo, e salvá-lo, bastar restartar o mysql:

sudo /etc/inid.d/mysql restart

Obs.: esses caminhos e executáveis foram testados no Ubuntu 8.04