Masuk ke konsol MySQL dengan root pengguna:
[email protected]:/# mysql -u root -pPASSWORD
dan ubah Plugin Otentikasi dengan kata sandi di sana:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)
Anda dapat membaca info lebih lanjut tentang Plugin Otentikasi Pilihan di Manual Referensi MySQL 8.0
Ini bekerja dengan sempurna di buruh pelabuhan lingkungan yang disesuaikan:
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
Jadi sekarang Anda bisa login ke phpMyAdmin di http://localhost:8080 dengan root / PASSWORD
mysql/mysql-server
Jika Anda menggunakan mysql/mysql-server gambar buruh pelabuhan
Tapi ingat, ini hanya solusi 'cepat dan kotor' di lingkungan pengembangan. Tidaklah bijaksana untuk mengubah Plugin Otentikasi Pilihan 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
Solusi yang diperbarui pada 10/04/2018
Ubah plugin otentikasi default MySQL dengan membatalkan komentar pada default_authentication_plugin=mysql_native_password
pengaturan di /etc/my.cnf
gunakan dengan risiko Anda sendiri
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
Solusi yang diperbarui pada 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
Solusi yang diperbarui pada 13/9/2021
ALTER PENGGUNA 'root'@'localhost' DIIDENTIFIKASI DENGAN mysql_native_password OLEH 'password';
- persis dengan tanda kutip *