Mysql
 sql >> Datenbank >  >> RDS >> Mysql

phpMyAdmin auf MySQL 8.0

Melden Sie sich mit root bei der MySQL-Konsole an Benutzer:

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

und dort das Authentication Plugin mit dem Passwort ändern:

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

Weitere Informationen zum Preferred Authentication Plugin finden Sie im MySQL 8.0-Referenzhandbuch

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

Es funktioniert perfekt in einem Docker Umgebung:

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

So können Sie sich jetzt bei phpMyAdmin auf http://localhost:8080 mit root / PASSWORD

anmelden

mysql/mysql-server

Wenn Sie mysql/mysql-server verwenden Docker-Image

Aber denken Sie daran, es ist nur eine schnelle und schmutzige Lösung in der Entwicklungsumgebung. Es ist nicht ratsam, den 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

Aktualisierte Lösung am 04.10.2018

Ändern Sie das standardmäßige MySQL-Authentifizierungs-Plugin, indem Sie default_authentication_plugin=mysql_native_password auskommentieren Einstellung in /etc/my.cnf

Nutzung auf eigene Gefahr

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

Aktualisierte Problemumgehung am 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

Aktualisierte Lösung am 13.09.2021

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

  • genau mit Anführungszeichen *