![](/img/trans.png)
[英]SQLSTATE[28000][1045] Access denied for user 'root'@'localhost'(using password:NO)
[英]I keep getting this error when trying to open my website: SQLSTATE[28000] [1045] Access denied for user 'amaqhawe'@'localhost' (using password: NO)
我无法弄清楚我做错了什么。 我最近在我的网站上添加了一个注册/登录系统,并且做了所有事情,包括在PHPMYADMIN中设置服务器信息。 现在的问题是,当我在浏览器中输入网站地址时,出现错误(SQLSTATE [28000] [1045]用户'amaqhawe'@'localhost'(使用密码:否)的访问被拒绝)。
我的config.php文件
<?php
ob_start();
session_start();
//set timezone
date_default_timezone_set('South Africa');
//database credentials
define('DBHOST','localhost');
define('DBUSER','amaqhawe');
define('DBPASS','');
define('DBNAME','amaqhawe');
//application address
define('DIR','http://amaqhawe.co.za/');
define('SITEEMAIL','noreply@amaqhawe.co.za');
try {
//create PDO connection
$db = new PDO("mysql:host=".DBHOST.";dbname=".DBNAME, DBUSER, DBPASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
//show error
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
exit;
}
//include the user class, pass in the database connection
include('classes/user.php');
include('classes/phpmailer/mail.php');
$user = new User($db);
?>
检查是否在脚本中定义了该用户,并且该用户具有使用数据库的权限(在复制数据库时,您传输数据,而不是用户和权限)
PhpMyAdmin允许这样做
或简单地创建新用户(在配置脚本中查看用户名和密码)
检查您的mysql用户凭证。 他们似乎是不正确的。 我想您需要指定数据库密码
检查您的phpmyadmin配置文件config.inc.php并更改此行
位置:如果您使用的是Ubuntu / Debian
/etc/phpmyadmin/config.inc.php
如果是Redhat / CentOs
/etc/phpMyAdmin/config.inc.php
由于您的密码是空的:默认情况下,phpmyadmin不允许空密码,这就是您得到的原因: 'amaqhawe'@'localhost'(使用密码:NO)
所以修改配置文件
$cfg['Servers'][$i]['AllowNoPassword'] = TRUE; // Change this form false to true
现在将允许使用空密码。
这可能对您有帮助。
该网站现已启动并正在运行。 我创建了一个新用户,并将其添加到数据库( amaqhawe_amaqhawe
)。 之后,我的数据库凭据如下所示:
//database credentials
define('DBHOST','localhost');
define('DBUSER','amaqhawe_admin');
define('DBPASS','960721');
define('DBNAME','amaqhawe_amaqhawe');
问题是我没有在用户凭据上写amaqhawe_user
,我只写了user
,一开始就没有amaqhawe_
。 非常感谢您的投入。 你真的帮了我大忙。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.