【问题标题】:MYSQL 8.0 Connection With PHP 5.6 [duplicate]MYSQL 8.0 与 PHP 5.6 的连接 [重复]
【发布时间】:2019-02-08 03:28:43
【问题描述】:

我已经安装了 mysql 8.0 并尝试将它与 php 5.6 连接并得到以下错误。

警告:mysqli_connect():服务器请求客户端未知的身份验证方法 [caching_sha2_password]

警告:mysqli_connect(): (HY000/2054): 服务器请求客户端未知的身份验证方法

错误:无法连接到 MySQL。调试错误:2054 调试错误:服务器请求客户端未知的身份验证方法

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    mysqli 库 在某些服务器上可能不支持;请改用PDO。 使用这些代码通过PDO 连接到数据库:

        <?php
        $Host = "localhost";
        $dataBase = ""; //Write here the Name of Database
        $userName = ""; //Write here your username
        $Password = ""; //Write here your password
        $setName = array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES utf8');
    
        try{
            $connect = new PDO("mysql:host = $Host;dbname = $dataBase",$userName,$Password,$setName);
            echo 'Success...';
        }catch(PDOException $error) {
            echo 'Error !'. $error->getmessage();
        }
        ?>
    

    【讨论】:

    • 一个好的答案包括解释代码解决了什么问题以及为什么。
    • 是的,对不起,我正在编辑我的答案,谢谢您的提醒
    • 你是在暗示缺少 mysqli 库吗?这不是错误的意义所在。问题是 mysqli 根本不支持 MySQL 8 中新的默认身份验证方法。
    • 感谢 mithridates0
    • 不客气,阿努杰
    猜你喜欢
    • 2014-10-17
    • 2014-05-30
    • 2017-11-04
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    相关资源
    最近更新 更多