sql >> Base de Datos >  >> RDS >> Mysql

phpMyAdmin en MySQL 8.0

Inicie sesión en la consola de MySQL con root usuario:

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

y cambie el complemento de autenticación con la contraseña allí:

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

Puede leer más información sobre el complemento de autenticación preferido en el manual de referencia de MySQL 8.0

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

Está funcionando perfectamente en un docker entorno personalizado:

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

Entonces, ahora puede iniciar sesión en phpMyAdmin en http://localhost:8080 con raíz/CONTRASEÑA

mysql/servidor-mysql

Si está utilizando mysql/mysql-server imagen acoplable

Pero recuerde, es solo una solución 'rápida y sucia' en el entorno de desarrollo. No es aconsejable cambiar el Complemento de autenticación preferido de 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

Solución actualizada el 04/10/2018

Cambie el complemento de autenticación predeterminado de MySQL descomentando default_authentication_plugin=mysql_native_password configuración en /etc/my.cnf

usar bajo su propio riesgo

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

Solución alternativa actualizada el 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

Solución actualizada el 13/09/2021

ALTERAR USUARIO 'root'@'localhost' IDENTIFICADO CON mysql_native_password POR 'contraseña';

  • exactamente entre comillas *