首先我通过互联网搜索过它,之前已经被问到但是没有解决方案。
我在服务器上部署了一个yii应用程序。它在本地机器上运行良好。但现在它给了我错误CDbConnection failed to open the DB connection: SQLSTATE[HY000] [1044] Access denied for user
我还在phpmyadmin中创建了一个用户并为其分配了权限,如图
所示
在我的database.php中,我写了
'connectionString' => 'mysql:host=localhost;dbname=allspice_flk_embroidery',
'emulatePrepare' => true,
'username' => 'allspice_afnan',
'password' => 'password',
'charset' => 'utf8',
它与服务器有关吗?或者我错过的东西?
答案 0 :(得分:1)
我不知道为什么会这样,但我找到了解决办法
1.创建用户并分配权限
2.现在创建一个数据库(不要创建表格)
3.将用户分配到此数据库
4.现在创建表格
如果您在创建用户之前已创建数据库,则删除数据库并按照上述过程进行操作。
答案 1 :(得分:0)
更好的解释会更有帮助。
我希望你有点管理,你不是说Yii
在本地服务器上使用相同的数据库名称访问本地数据库。
但是,错误说,您正尝试使用您不允许的用户名访问数据库。
首先测试终端的数据库连接:
mysql -h<hostname> -u<username> -p [Enter]
输入您的密码。
如果您遇到同样的错误,那么您肯定会遇到用户名/密码或尝试连接的主机的问题。
检查主机名,用户名和密码两次并尝试连接。甚至,最好尝试使用您为特定用户指定的端口。