我试图寻找一个现有的答案这个问题,但我找到的答案还没有工作到目前为止。
我一直在尝试使用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用户名。
它看起来像我有一切设置正确,但它没有连接(与上述错误)。我没有任何直接控制的服务器,我不会问我的网络主机,这可能需要几天的时间来整理。我的连接代码有问题吗?
4条答案
按热度按时间0kjbasz61#
首先检查数据库,您给了正确的用户访问您的数据库,这是从添加用户到数据库从Mysql数据库部分在cpanel。
然后再检查一次
首先尝试php中的正常连接代码,
0x6upsns2#
在cPanel中,确保:
1.数据库用户
cPanelUsername_dbName
存在,密码为dbPassword
1.您要使用的数据库已存在。
1.允许用户
cPanelUsername_dbName
访问数据库。1.允许用户
cPanelUsername_dbName
从localhost
、127.0.0.1
和服务器的IP地址访问数据库。您的MySQL连接可能使用
127.0.0.1
或服务器的IP地址,如果未授予所使用的特定IP地址的访问权限,MySQL将拒绝连接。avwztpqn3#
检查数据库名称拼写在您的
phpMyAdmin
.通常名称的格式为user_dbname
。例如:
在
php
脚本中,dbname
应为jack_student
vojdkbi04#
这对我很有效:
如果您需要更改MySQL 5.7.6及更高版本的密码:
MySQL 5.7.5及更早版本: