5

我是 PHP 新手。执行我的应用程序时出现以下错误:

在 phpMyadmin 中的代码是这样的

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

正如我已经采取的那样,我已将上面的代码更改为

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'Pass123';
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

现在我收到以下错误

用户'root'@'localhost'的访问被拒绝(使用密码:YES)MySQL错误#:1045

请让我知道,这里出了什么问题。

4

7 回答 7

3

在这个问题上浪费了一天的大部分时间之后,结果我所要做的就是提供非本地主机名。我不知道为什么(允许用户从任何主机连接),但它有效!

root@base:~# mysql -u username -h hostname -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

在 PHP 中:

Test 1807:
<?php
$username = "username";
$password = "password";
$hostname = "actualhostnamenotlocalhost"; 

$con = mysqli_connect($hostname, $username, $password);

// Check connection
if (mysqli_connect_errno($con)){
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_close($con);    

?>
OK.
于 2013-03-26T17:44:55.813 回答
2

这里没有人提到(出于某种原因),分配给您的用户的主机可能是错误的。当它说它root@localhost意味着root具有主机的用户localhost

在某些服务器上,默认值root可能不是 on localhost。试试这些:

root@127.0.0.1

root@[yourhostname]

于 2012-09-15T07:24:30.507 回答
0

确保密码正确(大写锁定?)并且可能使用原始 IP 地址,即 127.0.0.1

于 2012-09-15T07:05:28.477 回答
0

要重置您的密码,请查看此页面http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

于 2011-04-06T04:52:47.807 回答
0

请检查您在此处输入的密码。

当您的密码与原始密码不匹配时,就会出现此类错误。

于 2011-04-05T05:07:04.040 回答
0

确保您是否为 mysql 分配了密码

于 2011-04-05T05:13:26.030 回答
0

MySQL-server 及其运行的端口可能存在问题。默认值为 3306。如果它不起作用,请更改my.ini(或任何 mysql-ini 文件名)中的端口,并更改config.inc.phpphpmyadmin 文件夹中的端口引用。

因此,此处解释的错误(由 Gnanendra 提供)

用户'root'@'localhost'的访问被拒绝(使用密码:YES)MySQL错误#:1045

可能是因为 MySQL-server 没有正确运行。

另请查看此帖子以获取有关此问题的更多信息:

无法启动服务器:在 TCP/IP 端口上绑定:没有这样的文件或目录

于 2012-09-15T07:00:33.593 回答