需要帮助整理MySQL权限和连接

时间:2013-04-05 20:18:59

标签: php mysql database

所以我正在尝试建立一个访问和写入数据库的PHP站点。这应该是相对简单的,但我已经陷入了大量的权限问题,我是PHP的新手,所以我不知道如何修复它们。

首先,尝试访问数据库时会出现此警告:

Warning: mysqli_connect(): The server requested authentication method unknown to the client [mysql_old_password]

由于这个原因,连接也失败了:

Warning: mysqli_connect(): (HY000/2054): The server requested authentication method umknown to the client

在我的研究中,我发现此警告与PHP版本控制(link

的密码哈希有关

但是,尝试在该页面上运行解决方案会出现以下错误:

Error Code: 1044. Access denied for user 'user'@'host' to database 'mysql'  

我不知道如何在该数据库中获得权限。

这是我的PHP代码供参考(删除敏感信息):

$con=mysqli_connect("IP:port","user","password","database_name");
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
    echo "Succesfully connected";
echo "<br />";
}

$result = mysqli_query($con, "SELECT * FROM OWNERS") or die("Error: ".mysqli_error($con));
while($row = mysqli_fetch_array($result))
{
  echo $row['email'] . " " . $row['type'];
echo "<br />";
}

有人可以帮我解决这个问题吗?我知道这很多但似乎所有的问题都是相关的,我不知道从哪里开始修复它们。 (我正在使用XAMPP运行php和MySQL工作台来运行查询)

1 个答案:

答案 0 :(得分:0)

我想mysql正在你网络中的另一台机器上运行。试试看它是否有效:

CREATE USER 'user'@'IP' IDENTIFIED BY 'your password';
GRANT ALL ON database_name.* TO 'user'@'IP';

如果用户已经在您的系统中但具有不同的IP,那么您应该使用您的mysql服务器的IP再次创建它。您也可以在创建用户和授权声明中尝试而不是IP,但不建议在制作中使用。