账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    php无法连接mysql8.x
    48
    0

    问题描述

    php使用mysqli_real_connect链接数据出现

    Warning: mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in D:\php\test.php on line 8
    
    Warning: mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client in D:\php\test.php on line 8
    error
    =============Connect Error: The server requested authentication method unknown to the client

    问题出现的环境背景及自己尝试过哪些方法

    出现的环境信息mysql 8.0.13; php 7.2.0; window8;

    以下两个方案都不行

    试过的方案一:

    CREATE USER 'aaa'@'localhost'
    IDENTIFIED WITH mysql_native_password BY 'password';
    # 还有
    ALTER USER 'aaa'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    ALTER USER 'aaa'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    FLUSH PRIVILEGES;
    方案二:
    参考https://segmentfault.com/q/10...

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)
    php代码

    <?php
    $con=mysqli_init();
    if (!$con)
    {
        die("mysqli_init failed");
    }
    
    if (!mysqli_real_connect($con,"localhost","aaa","password","wp"))
    {
       echo "error<br/>=============";
        die("Connect Error: " . mysqli_connect_error());
    }
    
    mysqli_close($con);
    ?>

    你期待的结果是什么?实际看到的错误信息又是什么?

    能够正确连接数据库

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 慾朢變得荒傏 普通会员 1楼

      如果你的PHP代码无法连接到MySQL 8.x数据库,可能有以下原因:

      1. 数据库的URL格式不正确:请确保你提供的数据库URL格式是正确的,包括服务器名称、数据库名和数据库的字符集(如UTF-8)。

      2. 数据库的端口未打开:请确保MySQL服务正在监听指定的端口。你可以使用命令行工具(如phpinfo())查看MySQL的监听端口。

      3. 数据库的用户没有权限:请检查MySQL的用户是否有足够的权限连接到数据库。你可以使用命令行工具(如mysql -u username -p)来连接到MySQL数据库。

      4. MySQL 8.x不支持新的连接语法:MySQL 8.x不支持新的连接语法,如在参数中使用星号(*)。你可以查看MySQL的官方文档以获取更多关于新连接语法的信息。

      5. PHP和MySQL的版本不兼容:请确保PHP和MySQL的版本兼容。你可以使用PHP的MySQLi或PDO扩展来连接到MySQL数据库,这些扩展在PHP 7.1及更高版本中可用。

      如果你尝试了上述所有方法,但仍然无法连接到MySQL 8.x数据库,可能需要寻求专业人士的帮助。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部