Log ind på MySQL-konsollen med root bruger:
[email protected]:/# mysql -u root -pPASSWORD
og ændre Authentication Plugin med adgangskoden der:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)
Du kan læse mere om det foretrukne godkendelsesplugin i MySQL 8.0 Reference Manual
Det fungerer perfekt i en docker tilpasset miljø:
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
Så du kan nu logge ind på phpMyAdmin på http://localhost:8080 med root / PASSWORD
mysql/mysql-server
Hvis du bruger mysql/mysql-server docker-billede
Men husk, det er bare en 'hurtig og beskidt' løsning i udviklingsmiljøet. Det er ikke klogt at ændre 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
Opdateret løsning den 10/04/2018
Skift MySQL-standardgodkendelsesplugin'et ved at fjerne kommentaren til default_authentication_plugin=mysql_native_password
indstilling i /etc/my.cnf
brug på eget ansvar
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
Opdateret løsning den 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
Opdateret løsning den 13/09/2021
ÆNDRE BRUGER 'root'@'localhost' IDENTIFICERET MED mysql_native_password VED 'password';
- præcis med anførselstegn *