Mysql
 sql >> Base de données >  >> RDS >> Mysql

phpMyAdmin sur MySQL 8.0

Connectez-vous à la console MySQL avec root utilisateur :

[email protected]:/# mysql -u root -pPASSWORD

et modifiez le plugin d'authentification avec le mot de passe :

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

Vous pouvez lire plus d'informations sur le plugin d'authentification préféré dans le manuel de référence de MySQL 8.0

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

Il fonctionne parfaitement dans un docker environnement optimisé :

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

Vous pouvez donc maintenant vous connecter à phpMyAdmin sur http://localhost:8080 avec root / PASSWORD

mysql/mysql-server

Si vous utilisez mysql/mysql-server image docker

Mais rappelez-vous, c'est juste une solution "rapide et sale" dans l'environnement de développement. Il n'est pas judicieux de changer le Plug-in d'authentification préféré 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

Solution mise à jour le 10/04/2018

Modifiez le plugin d'authentification MySQL par défaut en décommentant le default_authentication_plugin=mysql_native_password réglage dans /etc/my.cnf

utilisez à vos risques et périls

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

Solution de contournement mise à jour au 30/01/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

default_authentication_plugin

Solution mise à jour le 13/09/2021

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

  • exactement avec des guillemets *