mysql显示访问被拒绝1045即使用户拥有所有权限

问题描述 投票:0回答:1

我正在尝试使用php连接到我的数据库以下是我的连接字符串。

$con = mysqli_connect("localhost","almawakeb_khawaneej","******");
mysqli_select_db($con, "moodle_amsk_2018");
if (mysqli_connect_errno())
{
die('Could not connect: ' . mysqli_connect_error(). mysqli_connect_errno().'');
}
else {
die('Connection success');
}

但我得到的是

无法连接:用户'almawakeb_khawaneej'@'localhost'拒绝访问(使用密码:是)1045

当我检查该用户的权限时

mysql> SHOW GRANTS FOR 'almawakeb_khawaneej'@'localhost';
+-----------------------------------------------------------------------------------+
| Grants for almawakeb_khawaneej@localhost                                          |
+-----------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'almawakeb_khawaneej'@'localhost'                  |
| GRANT ALL PRIVILEGES ON `moodle_amsk_2018`.* TO 'almawakeb_khawaneej'@'localhost' |
+-----------------------------------------------------------------------------------+

它拥有所有必要的特权。密码也是正确的,因为它适用于yii2框架配置文件,即在同一服务器中。

mysql> select version();
+-------------------------+
| version()               |
+-------------------------+
| 5.7.23-0ubuntu0.16.04.1 |
+-------------------------+

应该是什么问题?


EDIT

解决 !实际问题是密码中的$,如果它包含$,则不能在连接字符串中使用字符串密码。将密码声明为变量。

$password = '***$***'; 
php mysqli database-connection
1个回答
1
投票

有时......您需要使用127.0.0.1而不是localhost作为主机。

© www.soinside.com 2019 - 2024. All rights reserved.