【问题标题】:The server requested authentication method unknown to the client [duplicate]服务器请求客户端未知的身份验证方法[重复]
【发布时间】:2014-03-12 20:13:18
【问题描述】:

尝试从命令行执行 PHP 脚本,它给了我这个:

c:\tubekit>php harvestYTVideos.php mylist.txt

PHP 警告:mysqli_connect():服务器请求身份验证 客户端 [mysql_old_password] 中未知的方法 C:\tubekit\connect.php 在第 13 行

警告:mysqli_connect():服务器请求的身份验证方法 C:\tubekit\connect.php 中的客户端 [mysql_old_password] 未知 在第 13 行 PHP 警告:mysqli_connect(): (HY000/2054): The server 客户端未知的请求身份验证方法 C:\tubekit\connect.php 在第 13 行

警告:mysqli_connect(): (HY000/2054): 服务器请求 C:\tubekit\connect.php 中客户端未知的身份验证方法 在第 13 行 PHP 警告:mysqli_error() 需要 1 个参数,0 在第 13 行的 C:\tubekit\connect.php 中给出

警告:mysqli_error() 只需要 1 个参数,0 给出 第 13 行 C:\tubekit\connect.php 无法连接数据库:

这是它所指的行

$dbh = mysqli_connect("$host","$username","$password") or die("Cannot connect to the database: ". mysqli_error());

【问题讨论】:

  • 您的服务器使用的是旧的 mysql 密码系统(坏),但客户端只需要新的密码格式(好)。正确的解决方案是将您的 mysql 服务器升级到不那么古老的服务器。
  • 我在 Hostgator,还有其他解决方案吗?

标签: php mysql


【解决方案1】:

我通过重新运行 MySQLInstaller.exe 并将 MySQL 服务器身份验证方法重新配置为“使用旧身份验证方法(保留 MySql 5.x 兼容性)”解决了类似的问题。让其他设置保持与以前安装时的设置相同。 您可以通过转到 MySql Workbench 并打开 SQL 实例来确认更改。在导航器中,打开用户和权限,然后选择用户帐户。您将在那里找到身份验证类型。 它现在应该显示 Standard 而不是 caching-sha2-password(这是 MySQL8 的默认设置)。

我希望这对你有用。

【讨论】:

    【解决方案2】:

    我收到了和你类似的问题:

    (HY000/2054): The server requested authentication method unknown to the client
    Server requested authentication method unknown to the client [caching_sha2_password] mysqli_real_connect():
    

    这是在我将 Mysql 升级到 8.0.22 之后。 Mysql 8.0.22 使用caching_sha2_password 作为它的主要认证插件,而之前的版本一直使用mysql_native_password 作为他们的默认认证插件。要解决此问题,其中一种方法是将 MySQL 8.0 版恢复为使用 MySQL_native_password 作为其默认身份验证插件。 Tod 这样做(Ubuntu 用户):

    cd /etc/mysql
    

    使用您喜欢的文本编辑器打开my.cnf 文件,然后在[mysqld] 之后添加以下代码。

    default_authentication_plugin=mysql_native_password
    

    之后重启服务

    systemctl restart mysql.service
    

    如果我们遇到类似问题,这应该能够解决您的问题。

    第二个选项是创建一个新用户到 DB 并使用 native_password 插件对他们进行身份验证。有关完整过程如何执行此操作,请点击此链接

     https://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql
    

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 2020-12-03
      • 2018-11-06
      • 2019-05-05
      • 2019-02-21
      • 1970-01-01
      相关资源
      最近更新 更多