我是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"@"本地主机"(使用密码:YES)MySQL错误#:1045
请让我知道,这里出了什么问题。
在这个问题上浪费了大半天之后,事实证明我所要做的就是提供非本地主机主机名。我不知道为什么(允许用户从任何主机连接),但它有效!
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.
这里没有人提到(出于某种原因),分配给用户的主机可能是错误的。当它说root@localhost
时,这意味着用户与localhost
主机root
。
在某些服务器上,默认root
可能不在 localhost
上。试试这些:
root@127.0.0.1
root@[yourhostname]
请检查您在此处输入的密码。
当您的密码与原始密码不匹配时,就会出现此类错误。
确保您是否为 MySQL 分配了密码
用于重置密码请查看此页面 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
确保密码正确(大写锁定?),也许使用原始IP地址,即127.0.0.1
MySQL服务器及其运行端口可能存在问题。默认值为 3306。如果它不起作用,请更改my.ini
中的端口(无论 mysql-ini 文件名是什么),并更改 phpmyadmin 文件夹中config.inc.php
中的端口引用。
所以,这里解释的错误(由Gnanendra)
拒绝访问用户"root"@"本地主机"(使用密码:YES)MySQL错误#:1045
可能是因为 MySQL 服务器未正常运行而给出的。
另请查看此帖子以获取有关此问题的更多信息:
无法启动服务器:在 TCP/IP 端口上绑定:没有此类文件或目录