Přihlaste se ke konzoli MySQL pomocí rootu uživatel:
[email protected]:/# mysql -u root -pPASSWORD
a změňte Authentication Plugin s heslem:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)
Další informace o modulu Preferred Authentication Plugin si můžete přečíst v referenční příručce MySQL 8.0
V dockeru funguje perfektně prostředí:
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
Nyní se tedy můžete přihlásit do phpMyAdmin na http://localhost:8080 pomocí root / PASSWORD
mysql/mysql-server
Pokud používáte mysql/mysql-server obrázek dockeru
Pamatujte si však, že jde pouze o „rychlé a špinavé“ řešení ve vývojovém prostředí. Není moudré měnit Upřednostňovaný modul pro ověřování 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
Aktualizované řešení dne 10. 4. 2018
Změňte výchozí ověřovací plugin MySQL zrušením komentáře u default_authentication_plugin=mysql_native_password
nastavení v /etc/my.cnf
používáte na vlastní nebezpečí
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
Aktualizováno náhradní řešení 30. 1. 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
Aktualizované řešení dne 13. 9. 2021
ALTER USER 'root'@'localhost' IDENTIFIKOVANÝ S mysql_native_password BY 'password';
- přesně s uvozovkami *