相关疑难解决方法(0)

服务器请求客户端未知的身份验证方法(PHP)

我在PHP 7.0上运行MySQL版本8.

当我尝试从PHP连接到我的数据库时,我收到以下错误:

连接错误:SQLSTATE [HY000] [2054]服务器请求客户端未知的身份验证方法

怎么解决?

php mysql mysql-8.0

62
推荐指数
5
解决办法
8万
查看次数

我的数据库用户存在,但我仍然得到(HY000/2002):没有这样的文件或目录

我正在尝试在我的Mac上安装vanilla论坛,为此我只是从mysql命令行创建了一个数据库和一个用户:

mysql> CREATE DATABASE vanilla;
Query OK, 1 row affected (0.00 sec)

mysql> create user 'vanilla_user3'@'localhost' IDENTIFIED BY 'vanilla_password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON * . * TO 'vanilla_user3'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

所以我尝试使用以下代码进行连接:

$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla");
if (mysqli_connect_errno($con)) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是我得到一个错误说 Warning: mysqli_connect(): (HY000/2002): No such file or directory in /Users/kramer65/Sites/vanilla/info.php on …

mysql macos privileges

29
推荐指数
4
解决办法
6万
查看次数

PHP 7.2.2 + mysql 8.0 PDO给出:客户端未知的身份验证方法[caching_sha2_password]

我正在使用php 7.2.2和mysql 8.0.

当我尝试连接正确的凭据时,我收到此错误:

PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]")
Run Code Online (Sandbox Code Playgroud)

需要帮助来解决问题.

php mysql pdo

20
推荐指数
4
解决办法
3万
查看次数

如何解决 ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'?

我不能用 root 登录,我认为 root 的密码可能被更改。但我也无法更改 root 的密码。

Mysql 版本为 v8.0.16。

我曾经--init-file在 mysqld 启动时指定了 alter sql

alter user 'root'@'localhost' identified by 'mynewpassword'
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

我使用了--skip-grant-tables --user=mysql所以我可以添加一个新用户,我的新用户可以工作。我尝试更改 root,但它再次失败。

alter user 'root'@'localhost' identified by 'mynewpassword'
Run Code Online (Sandbox Code Playgroud)

这是表用户的内容

mysql> alter user 'root'@'localhost' identified by 'mynewpassword';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法?

mysql

15
推荐指数
2
解决办法
4万
查看次数

Laravel Sail 数据库连接拒绝错误

我在laravel 8中创建了一个新的laravel项目。我已经正确设置了Sail安装,本地数据库连接一切正常,但是当我尝试使用sail连接我的数据库时,它给了我一个错误

SQLSTATE[HY000] [2002] 连接被拒绝(SQL: select * from information_schema.tables where table_schema = laravel8 and table_name = migrations and table_type = 'BASE TABLE')

我已经清除了我的配置和缓存文件。

php laravel docker

8
推荐指数
3
解决办法
4187
查看次数

如何配置doctrine(Symfony 4)与MySQL 8.0连接?

我收到了这个错误:

PDO :: __ construct():服务器请求的客户端未知的身份验证方法[caching_sha2_password]

我知道MySQL在版本8中更改了他们的身份验证方法,但是我应该如何更新到最新的驱动程序并在doctrine(Symfony 4)中与它连接?

mysql symfony doctrine-orm

7
推荐指数
1
解决办法
3621
查看次数

MySQL 8.0 ERROR 3118(HY000):用户'root'@'localhost'的访问被拒绝.帐户被锁定

我尝试将我的PHP登录更改为使用caching_sha2_password到mysql_native_password,如下所示.现在我根本无法登录MySQL.我重新启动mysqld无济于事.

有什么想法可以补救吗?

我按照这篇文章php mysqli_connect:客户端未知的身份验证方法[caching_sha2_password]

mysql> ALTER USER 'elstatuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysecretpassword';
ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 50, found 49. Created with MySQL 80012, now running 80013. Please use mysql_upgrade to fix this error.



[root@han ~]# mysql_upgrade --force -uroot -p
Enter password: 
Checking server version.
Running queries to upgrade MySQL server.
Upgrading system table data.
Checking system database.
mysql.columns_priv                                 OK

mysql.component                                    OK
mysql.db                                           OK
mysql.default_roles                                OK
mysql.engine_cost                                  OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.global_grants …
Run Code Online (Sandbox Code Playgroud)

mysql

5
推荐指数
1
解决办法
651
查看次数

如何解决错误:Laravel-MySql中未知的SQL身份验证方法

我使用的是docker,我有一个Laravel Framework 5.5.25容器和其他带有mysql Ver 8.0.11 for Linux on x86_64(MySQL社区服务器 - GPL)的容器.在我的docker compose配置中我有这个:

version: "2"
services:
    mysql:
    image: mysql
        ports:
            - "3307:3306"
        command: --sql_mode=""
Run Code Online (Sandbox Code Playgroud)

因此,当Laravel尝试连接到MySql时出现此错误:

SQLSTATE [HY000] [2054]服务器请求客户端未知的身份验证方法(SQL:select*from

php docker docker-compose mysql-8.0 laravel-5.5

4
推荐指数
3
解决办法
5366
查看次数

警告: mysqli::__construct(): (HY000/2002): 中没有这样的文件或目录

我花了几天时间试图解决这个问题,我完全被困住了......

我已在运行 Mojave (10.14.3) 的 Mac 操作系统上设置了 Apache Web 服务器(版本 2.4.34),并安装了当前版本的 MySQL 社区服务器 (8.0.15)。正如我所确定的(从命令行),两者都运行完美。我安装了 PHP 7.1.23。当我使用以下代码创建 .php 文件并将其放入我的 Sites 目录中,然后在 Safari 中转到http://localhost/~dave/hello.php时,我收到此错误:

“警告:mysqli::__construct():(HY000/2002):第 7 行 /Users/dave/Sites/hello.php 中没有这样的文件或目录连接失败:没有这样的文件或目录”。

hello.php 中的代码:

<?php
$servername = "localhost";
$username = "dave";
$password = "*****";

//Create connection
$conn = new mysqli($servername, $username, $password);

//Check connection
if ($conn->connect_error) {
   die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我能想到的一切,包括其他两篇类似帖子中的建议(这一篇:我的数据库用户存在,但我仍然得到一个(HY000/2002):没有这样的文件或目录,这一篇:PHP警告: mysqli::__construct(): (HY000/2002): 没有这样的文件或目录 (Debian GNU/Linux 9) ),并且我无法使用 php 连接到 MySQl。特别是,我检查了 php 信息页面,mysqli …

php mysql mysqli

1
推荐指数
1
解决办法
1万
查看次数

MySQL 说:文档 #2054 - 服务器请求客户端未知的身份验证方法

线程中有类似的问题,但在这里我不得不提到这个问题,因为作为一个新手学习者,我无法弄清楚并解决这个问题。对不起,我的英文太长了,希望你能帮我。

顺便说一下,我已经在我的 Windows 上安装了 XAMPP 控制面板,并且我已经在 localhost/phpmyadmin(浏览器)中创建了几个数据库。今天,我从这个链接下载并安装了 MySQL-installer-community 。我按照所有步骤安装并正确配置了它。(默认端口号是 33060,我在安装 MySQL 安装程序时不会更改它)。

但后来由于某种原因,我不得不接近我以前的 XAMPP 控制面板并尝试启动 APACHE 和 MySQL。APACHE 已启动,但 MySQL 无法启动并自动终止。后来我发现 XAMPP Panel 中的 MySQL 运行在相同的端口上,因为我在配置 MySQL 安装程序时没有更改端口号。因此,我通过在 my.ini 文件中进行更改,将 XAMPP 控制面板上的默认 MySQL 端口号(即 3306)更改为 3307,如嵌入图像中所示: 更改 my.ini 文件

后来,当我重新启动 XAMPP 控制面板时,MySQL 启动时没有出现任何错误,请参见此处,但浏览器上的访问仍然被拒绝。有关图像,请参阅: 在浏览器中拒绝访问

但是,即使在浏览器中拒绝访问,我也可以通过 shell 获取数据库。 通过Shell访问数据库

因此,我正在寻求帮助,为什么我无法通过浏览器上的 localhost/phpmyadmin 访问数据库?请指导我彻底!

mysql xampp phpmyadmin

0
推荐指数
1
解决办法
1986
查看次数

mysqli::__construct(): 客户端未知的身份验证方法 [caching_sha2_password]x

我刚刚安装了 xampp,并且正在 phpMyAdmin 上本地运行 MySQL 数据库。我正在尝试通过 .php doc 输出数据库的内容,但是在尝试这样做时我收到了两个警告:

警告:mysqli::__construct():服务器请求了客户端未知的身份验证方法 [caching_sha2_password] 在 C:\xampp\htdocs\footfallTracker\test.php 中的第 20 行

警告:mysqli::__construct():(HY000/2054):服务器请求了客户端未知的身份验证方法 C:\xampp\htdocs\footfallTracker\test.php 在线 20 连接失败:服务器请求的身份验证方法未知客户端

这是我正在使用的代码:

     <?php
$servername = "localhost";
$username = "root";
$password = "*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19";
$dbname = "footfall_tracking";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT ID, Location, Date FROM footstep_count";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row …
Run Code Online (Sandbox Code Playgroud)

php mysql xampp mysqli

0
推荐指数
1
解决办法
8883
查看次数