Mysql
 sql >> Database >  >> RDS >> Mysql

phpMyAdmin su MySQL 8.0

Accedi alla console MySQL con root utente:

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

e cambia il plug-in di autenticazione con la password lì:

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

Puoi leggere ulteriori informazioni sul plug-in di autenticazione preferito nel Manuale di riferimento di MySQL 8.0

https ://dev.mysql.com/doc/refman/8.0/en/aggiornamento-dalla-serie-precedente.html#upgrade-caching-sha2-password

Funziona perfettamente in una docker ambiente dimensionato:

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

Quindi ora puoi accedere a phpMyAdmin su http://localhost:8080 con root / PASSWORD

server-mysql/mysql

Se stai usando mysql/mysql-server immagine mobile

Ma ricorda, è solo una soluzione "rapida e sporca" nell'ambiente di sviluppo. Non è saggio modificare Plugin di autenticazione preferito di 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

Soluzione aggiornata al 04/10/2018

Modifica il plug-in di autenticazione predefinito di MySQL decommentando il default_authentication_plugin=mysql_native_password impostazione in /etc/my.cnf

usa a tuo rischio

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

Soluzione alternativa aggiornata al 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

Soluzione aggiornata al 13/09/2021

ALTER USER 'root'@'localhost' IDENTIFICATO CON mysql_native_password BY 'password';

  • esattamente tra virgolette *