Zaloguj się do konsoli MySQL za pomocą root użytkownik:
[email protected]:/# mysql -u root -pPASSWORD
i zmień tam wtyczkę uwierzytelniającą z hasłem:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)
Więcej informacji o preferowanej wtyczce uwierzytelniania znajdziesz w podręczniku MySQL 8.0
Działa idealnie w doku środowisko:
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
Możesz teraz zalogować się do phpMyAdmin na http://localhost:8080 z rootem / HASŁO
mysql/mysql-server
Jeśli używasz mysql/mysql-server obraz dokowany
Ale pamiętaj, to tylko „szybkie i brudne” rozwiązanie w środowisku programistycznym. Nie jest mądrze zmieniać Preferowana wtyczka uwierzytelniania 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
Zaktualizowane rozwiązanie 10.04.2018
Zmień domyślną wtyczkę uwierzytelniającą MySQL, odkomentowując default_authentication_plugin=mysql_native_password
ustawienie w /etc/my.cnf
używaj na własne ryzyko
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
Zaktualizowane obejście na 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
Zaktualizowane rozwiązanie 13.09.2021
ZMIEŃ UŻYTKOWNIKA 'root'@'localhost' ZIDENTYFIKOWANEGO ZA POMOCĄ mysql_native_password PRZEZ 'hasło';
- dokładnie z cudzysłowami *