sql >> Databasteknik >  >> RDS >> Mysql

phpMyAdmin på MySQL 8.0

Logga in på MySQL-konsolen med root användare:

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

och ändra Authentication Plugin med lösenordet där:

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

Du kan läsa mer information om insticksprogrammet Preferred Authentication i MySQL 8.0 Reference Manual

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

Det fungerar perfekt i en dockar anpassad 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 logga in på phpMyAdmin på http://localhost:8080 med root / LÖSENORD

mysql/mysql-server

Om du använder mysql/mysql-server docker-bild

Men kom ihåg att det bara är en "snabb och smutsig" lösning i utvecklingsmiljön. Det är inte klokt att ändra 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

Uppdaterad lösning den 10/04/2018

Ändra MySQL-insticksprogrammet för standardautentisering genom att avkommentera default_authentication_plugin=mysql_native_password inställning i /etc/my.cnf

användning på egen risk

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

Uppdaterad 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

default_authentication_plugin

Uppdaterad lösning 2021-09-13

ÄNDRA ANVÄNDARE 'root'@'localhost' IDENTIFIERAD MED mysql_native_password MED 'lösenord';

  • exakt med citattecken *


  1. Lägga till fler avancerade funktioner som att hantera kategorier och rösta på trådar och inlägg

  2. Varför avrundar SQL Server resultaten av att dividera två heltal?

  3. SQL Server 2008 Spatial:hitta en punkt i polygon

  4. Jämför Oracle MySQL, Percona Server och MariaDB