Đăng nhập vào bảng điều khiển MySQL bằng root người dùng:
[email protected]:/# mysql -u root -pPASSWORD
và thay đổi Plugin xác thực bằng mật khẩu ở đó:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)
Bạn có thể đọc thêm thông tin về Plugin xác thực ưu tiên trên MySQL 8.0 Reference Manual
Nó đang hoạt động hoàn hảo trong docker môi trường ized:
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
Vì vậy, bây giờ bạn có thể đăng nhập vào phpMyAdmin trên http:// localhost:8080 với root / PASSWORD
mysql / mysql-server
Nếu bạn đang sử dụng mysql / mysql-server hình ảnh docker
Nhưng hãy nhớ rằng, nó chỉ là một giải pháp 'nhanh chóng và bẩn thỉu' trong môi trường phát triển. Sẽ không khôn ngoan nếu thay đổi Plugin Xác thực Ưu tiê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
Giải pháp được cập nhật vào ngày 10 tháng 4 năm 2018
Thay đổi plugin xác thực mặc định của MySQL bằng cách bỏ ghi chú default_authentication_plugin=mysql_native_password
cài đặt trong /etc/my.cnf
tự chịu rủi ro khi sử dụng
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
Giải pháp cập nhật vào 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
Giải pháp được cập nhật lúc 13/09/2021
ALTER USER 'root' @ 'localhost' ĐƯỢC XÁC NHẬN VỚI mysql_native_password THEO 'password';
- chính xác với dấu ngoặc kép *