mysql8.0和phpmyadmin_MySQL 8.0上的phpMyAdmin

这篇博客介绍了如何在MySQL 8.0中使用root用户登录并更改Authentication Plugin为mysql_native_password,以便与phpMyAdmin兼容。文中提供了通过Docker部署MySQL和phpMyAdmin的步骤,并给出了不同时间点的解决方案更新,包括更改MySQL默认认证插件的方法。
摘要由CSDN通过智能技术生成

András Szabá..

86

使用root用户登录MySQL控制台:

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

并使用密码更改Authentication Plugin:

mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

Query OK, 0 rows affected (0.08 sec)

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

它在码头化的环境中完美运行:

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首选身份验证插件是不明智的.

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

在10/04/2018更新了解决方案

通过取消注释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

在01/30/2019更新了解决方法

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

祝福你.我浪费了很多时间试图解决这个问题.顺便说一下,在MacOS上使用phpMyAdmin与Brew时,我必须运行的命令是:ALTER USER root @ localhost IDENTIFIED WITH mysql_native_password BY'secret'(否则我收到了"ERROR 1396(HY000):操作ALTER USER失败'根'@'%') (22认同)

@Pathros你应该改变用户root @'localhost'IDENTIFIED WITH mysql_native_password BY'PASSWORD'; ...所以直接指定localhost (7认同)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值