当前位置: 首页 > 面试题库 >

MySQL 8.0上的phpMyAdmin [重复]

荆学民
2023-03-14
问题内容

这个问题已经在这里有了答案

在phpMyAdmin中使用SHA256设置用户密码后,访问被拒绝 (2个答案)

4个月前关闭。

更新
较新版本的phpMyAdmin解决了此问题。我已经使用phpMyAdmin 5.0.1成功测试了

我已经安装了MySQL 8.0服务器和phpMyAdmin,但是当我尝试从浏览器访问它时,会发生以下错误:

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

我想它一定与实现的强密码和MySQL版本的相对更新有关。

但是我对最高级的驱动程序和连接配置一无所知。

有人遇到过同样的问题并解决了吗?:D


问题答案:

root 用户登录MySQL控制台:

root@9532f0da1a2a:/# mysql -u root -pPASSWORD

并使用其中的密码更改身份验证插件:

mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)

您可以在《 MySQL 8.0参考手册》上阅读有关首选身份验证插件的更多信息。

https://dev.mysql.com/doc/refman/8.0/zh-CN/upgrading-from-previous-
series.html#upgrade-caching-
sha2-password

它在 docker 化环境中完美运行:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -p 3306:3306 -d mysql:latest

docker exec -it mysql bash

mysql -u root -pPASSWORD

ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

exit

exit

docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest

因此,您现在可以使用root / PASSWORD 登录http://
localhost:8080上的phpMyAdmin。

mysql / mysql服务器

如果您正在使用mysql / mysql-server docker image

但是请记住,这只是开发环境中的“快速而肮脏的”解决方案。 更改MySQL Preferred Authentication
Plugin是不明智的。

docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest
docker exec -it mysql mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';"
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest

在2018年10月4日更新了解决方案

通过取消注释中的default_authentication_plugin=mysql_native_password设置来更改MySQL默认身份验证插件
/etc/my.cnf

使用风险自负

docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest
docker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnf
docker stop mysql; docker start mysql
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest

在2019年1月30日更新了解决方法

docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest
docker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnf
docker exec -it mysql mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';"
docker stop mysql; docker start mysql
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest

default_authentication_plugin



 类似资料:
  • phpMyAdmin是一个管理数据库中的表和数据的第三方工具。 它是管理MySQL数据库的图形用户界面。 您可以手动创建表,导入和导出数据或通过它编辑行的值。 要访问phpMyAdmin,请单击phpMyAdmin链接,该链接可在cPanel Home的数据库部分下找到。 您将看到与此类似的仪表板。 在左侧窗格中,有一个数据库列表,可以使用这些数据库来查看每个数据库中的表。 在右侧窗格中,有数据库

  • 我正在尝试获得我的phpmyadmin的root权限。我已经试图进入config.inc.php,但我没有成功。 Mysql版本 config.inc.php 如果有人知道我如何找到根密码,请告诉我。 感谢您阅读我

  • 本文向大家介绍在CentOS上安装phpMyAdmin的教程,包括了在CentOS上安装phpMyAdmin的教程的使用技巧和注意事项,需要的朋友参考一下 前提 在CentOS上安装phpMyAdmin,你第一步需要架设一台Web服务器(如Apache或nginx),安装好MySQL/MariaDB数据库和PHP。根据你的偏好和需求,你可以从LAMP和LEMP中选择一种安装。 另一个要求是允许在你

  • 问题内容: 我在PHPMyAdmin中更改了我的 ‘root’@’localhost’ 帐户的密码,并且喜欢(此人在这里询问),并将自己锁定在浏览器中的PHPMyAdmin之外。我正在使用WAMP 2.5。 针对该问题提供的解决方案对我不起作用,因为不幸的是,我丢失了重新分配给 root用户 的密码。 一些解决方案要求人们通过命令行(包括此源)来重置密码,而我已经尝试通过Windows命令行来成功

  • 最近,我是个白痴,在我的mac high sierra上更改密码后,我把自己锁在phpmyadmin之外,我忘记了我的密码。我试过了谷歌上所有能找到的东西,但没有一个奏效。主要是因为我无法通过任何方式访问phpmyadmin。由于某种原因,当我通过terminal登录到根用户时,它对phpmyadmin没有影响(就好像它在运行不同的mysql一样)。 我正在计划重新安装或擦除我的phpMyAdmi

  • phpMyAdmin 提供了一个 Web 界面,可以管理 MySQL / MariaDB 数据库。 网站: https://www.phpmyadmin.net/ 下载: cd /mnt/web curl -O https://files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.zip 解压: unzip ph