Log in op de MySQL-console met root gebruiker:
[email protected]:/# mysql -u root -pPASSWORD
en wijzig daar de verificatieplug-in met het wachtwoord:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)
U kunt meer informatie over de Preferred Authentication Plugin lezen in de MySQL 8.0 Reference Manual
Het werkt perfect in een docker aangepaste omgeving:
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
U kunt nu dus inloggen op phpMyAdmin op http://localhost:8080 met root / PASSWORD
mysql/mysql-server
Als u mysql/mysql-server gebruikt docker-afbeelding
Maar onthoud, het is gewoon een 'quick and dirty' oplossing in de ontwikkelomgeving. Het is niet verstandig om de 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
Geüpdatete oplossing op 10/04/2018
Wijzig de MySQL standaard authenticatie plug-in door het verwijderen van de opmerkingen bij de default_authentication_plugin=mysql_native_password
instelling in /etc/my.cnf
gebruik op eigen risico
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
Geüpdatete oplossing op 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
Geüpdatete oplossing op 13-09-2021
ALTER GEBRUIKER 'root'@'localhost' GEDENTIFICEERD MET mysql_native_password DOOR 'wachtwoord';
- precies met aanhalingstekens *