PHP,MySQL返回“连接失败:服务器请求客户端未知的身份验证方法” [重复]

Posted

技术标签:

【中文标题】PHP,MySQL返回“连接失败:服务器请求客户端未知的身份验证方法” [重复]【英文标题】:PHP, MySQL returns "Connection failed: The server requested authentication method unknown to the client" [duplicate] 【发布时间】:2019-07-18 07:12:20 【问题描述】:

正在尝试连接到本地 mysqli DB。

数据库连接: <?php $con= new mysqli("localhost","Kobe24","Kobei987","Bkn_Data"); if ($con->connect_error) die("Connection failed: " . $con->connect_error);

返回: Warning: mysqli::__construct(): (HY000/2054): The server requested authentication method unknown to the client in C:\Apache24\htdocs\poc\practice_project\database_connection.php on line 1 Connection failed: The server requested authentication method unknown to the client

任何反馈都会有所帮助。一直在研究这个问题,但没有明确的解决方案。

【问题讨论】:

试试这个帖子***.com/questions/1340488/mysql-php-incompatibility 如果您可以提供有关您使用的用户的更多信息,这将很有用。您能否以 root 身份登录 mysql(例如从控制台或 phpmyadmin)并发布 select * from mysql.user where User = YOURUSERNAME 的输出 尝试像这里***.com/questions/44946270/…这样更改MySQL Auth方法 【参考方案1】:

你能按照下面的代码试试这个 mysqli_connect() 函数吗? 还请确保数据库用户和密码正确,并且该用户具有连接数据库的权限

<?php
         $dbhost = 'localhost:3306';
         $dbuser = 'enter database user';
         $dbpass = 'enter password';
         $con = mysqli_connect($dbhost, $dbuser, $dbpass);

         if(! $con )
            die('Could not connect: ' . mysqli_error());
         
         echo 'Connected successfully';
         mysqli_close($con);
      ?>

【讨论】:

以上是关于PHP,MySQL返回“连接失败:服务器请求客户端未知的身份验证方法” [重复]的主要内容,如果未能解决你的问题,请参考以下文章

查询只返回一行(PHP / MYSQL)

使用 PHP 返回 mysql 存储过程的输出参数

如何在 PHP 中返回从 MySQL 获取的数组

PHP MySQL查询不返回结果[关闭]

PHP:mysql返回值“转义”文本区域

PHP如何从Mysql返回日期时间(6)?