我在个人网站上工作。我把它放在生产服务器上。当我在开发环境中时,我使用root连接到MySQL,但现在我只创建了一个特定于该网站的用户。所以我在MySQL中编写了这个命令行:
GRANT USAGE ON portefolio.* TO 'userPortefolio'@'localhost' IDENTIFIED BY PASSWORD 'myPasswordCrypted'
查询没问题,但在我的网站上,当我尝试访问带有查询的页面时,Symfony给了我这个错误:
SQLSTATE[42000] [1044] Access denied for user 'userPortefolio'@'localhost' to database 'portefolio'
我尝试重启服务器以确保一切正常但没有。 我使用MySQL函数加密密码
password('my password not encrypt')
在Symfony中我用非加密格式编写了密码。那可以吗?
答案 0 :(得分:4)
GRANT USAGE ON portefolio.* TO 'userPortefolio'@'localhost' IDENTIFIED BY PASSWORD 'myPasswordCrypted'
您的密码不应在此声明中加密。 MySQL会自动隐藏它。
答案 1 :(得分:1)
假设连接等没有怪癖,你应该做一个
flush privileges;
运行授权查询后。
答案 2 :(得分:0)
引用manual: USAGE权限说明符代表“没有权限。”
所以一切似乎都按照设计工作。