PHP MySql(1045)拒绝用户访问

qlvxas9a  于 2023-06-04  发布在  PHP
关注(0)|答案(4)|浏览(226)

我试图寻找一个现有的答案这个问题,但我找到的答案还没有工作到目前为止。
我一直在尝试使用PHP连接到MySql数据库。我的网络主机在Linux上使用cPanel。我使用的代码似乎足够标准:

$mysqli = new mysqli("localhost", "cPanelUsername_dbUsername", "dbPassword", "cPanelUsername_dbName");

我得到以下错误:

Failed to connect to MySQL: (1045) Access denied for user 'cPanelUsername_dbUsername'@'localhost' (using password: YES)Access denied for user 'cPanelUsername'@'localhost' (using password: NO)
    • “localhost”* 是MySql服务器所在的主机服务器(看起来这样可以工作)
    • “cPanelUsername”* 是我的cpanel用户名
    • “dbUsername”* 是数据库用户,我将其添加到数据库并授予其所有权限
    • “dbPassword”* 是dbUsername的数据库密码
    • “dbName”* 是数据库名称

在其他地方搜索这个问题的答案后,我最终在dbName和dbUsername之前添加了我的cPanel用户名。
它看起来像我有一切设置正确,但它没有连接(与上述错误)。我没有任何直接控制的服务器,我不会问我的网络主机,这可能需要几天的时间来整理。我的连接代码有问题吗?

0kjbasz6

0kjbasz61#

首先检查数据库,您给了正确的用户访问您的数据库,这是从添加用户到数据库从Mysql数据库部分在cpanel。
然后再检查一次
首先尝试php中的正常连接代码,

$con = mysql_connect("localhost","cpanel_username","cpanel_password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
0x6upsns

0x6upsns2#

在cPanel中,确保:
1.数据库用户cPanelUsername_dbName存在,密码为dbPassword
1.您要使用的数据库已存在。
1.允许用户cPanelUsername_dbName访问数据库。
1.允许用户cPanelUsername_dbNamelocalhost127.0.0.1和服务器的IP地址访问数据库。
您的MySQL连接可能使用127.0.0.1或服务器的IP地址,如果未授予所使用的特定IP地址的访问权限,MySQL将拒绝连接。

avwztpqn

avwztpqn3#

检查数据库名称拼写在您的phpMyAdmin .通常名称的格式为user_dbname
例如:

cpanel username: jack,  
database created: student

php脚本中,dbname应为jack_student

vojdkbi0

vojdkbi04#

这对我很有效:

  • 根据您的MySQL版本,确保您的PHP文件config.inc.php文件中有匹配的密码和主机名。

如果您需要更改MySQL 5.7.6及更高版本的密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5及更早版本:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
  • 如果您试图从另一台机器访问本地主机服务器,例如(模拟器,另一台计算机),请确保您使用的是 localhost 的实际IP地址,请勿使用 localhost 作为主机名。因为这就像告诉机器连接到自己-但服务器在不同的IP地址上。

相关问题