moh*_*ser 62 php mysql mysql-8.0
我在PHP 7.0上运行MySQL版本8.
当我尝试从PHP连接到我的数据库时,我收到以下错误:
连接错误:SQLSTATE [HY000] [2054]服务器请求客户端未知的身份验证方法
怎么解决?
Eli*_*nyo 140
@mohammed,这通常归因于你的mysql数据库正在使用的身份验证插件.
默认情况下,出于某种原因,mysql 8默认插件是auth_socket.应用程序大多数时候都希望使用密码登录您的数据库.
如果您尚未更改mysql默认身份验证插件,可以通过以下方式更改:
1.以root身份登录到mysql
2.运行此sql命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';
Run Code Online (Sandbox Code Playgroud)
用root密码替换'password'.如果您的应用程序未使用root用户登录到您的数据库,请将上述命令中的"root"用户替换为您的应用程序使用的用户.
数字海洋在此处详细介绍了安装Mysql
mic*_*l_w 49
您必须更改MySQL设置.编辑my.cnf文件并将此设置放在mysqld部分中:
[mysqld]
default_authentication_plugin= mysql_native_password
Run Code Online (Sandbox Code Playgroud)
Tai*_*sco 38
我已经尝试了很多方法,但是只有这对我有用
感谢您的解决方法
检查您的**。env
MYSQL_VERSION=latest
Run Code Online (Sandbox Code Playgroud)
然后输入此命令
$ docker-compose exec mysql bash
$ mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
(以root用户身份登录)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';
Run Code Online (Sandbox Code Playgroud)
然后去phpmyadmin并登录为:
希望对你有帮助
小智 7
这里没有答案对我有用。我要做的是:
之后,它工作正常。
小智 5
面对同样的问题,我无法使用 mysql 版本 8 运行 wordpress docker 容器,因为它的默认身份验证机制是 caching_sha2_password 而不是 mysql_native_password。
为了解决这个问题,我们必须将默认身份验证机制重置为 mysql_native_password。
在 mysql 安装中找到 my.cnf 文件,通常在 linux 机器上它位于以下位置 - /etc/mysql
编辑 my.cnf 文件并在标题 [mysqld] 下添加以下行
default_authentication_plugin= mysql_native_password
保存文件,然后使用 root 用户登录到 mysql 命令行
运行命令 FLUSH PRIVILEGES;
归档时间: |
|
查看次数: |
84862 次 |
最近记录: |