4ecfaca080e8c41a7580dd27cc4e7bf8.png

青春有我

以root用户登录MySQL控制台:root@9532f0da1a2a:/# mysql -u root -pPASSWORD并使用其中的密码更改身份验证插件:mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';Query OK, 0 rows affected (0.08 sec)您可以在《 MySQL 8.0参考手册》上阅读有关首选身份验证插件的更多信息。https://dev.mysql.com/doc/refman/8.0/zh-CN/upgrading-from-previous-series.html#upgrade-caching-sha2-password它在docker化环境中完美运行:docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -p 3306:3306 -d mysql:latestdocker exec -it mysql bashmysql -u root -pPASSWORDALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';exitexitdocker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest因此,您现在可以使用root / PASSWORD 登录http:// localhost:8080上的phpMyAdmin。mysql / mysql服务器如果您正在使用mysql / mysql-server docker image但是请记住,这只是开发环境中的“快速而肮脏的”解决方案。更改MySQL Preferred Authentication Plugin是不明智的。docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latestdocker 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在2018年10月4日更新了解决方案通过取消注释中的default_authentication_plugin=mysql_native_password设置来更改MySQL默认身份验证插件 /etc/my.cnf使用风险自负docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latestdocker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnfdocker stop mysql; docker start mysqldocker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest在2019年1月30日更新了解决方法docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latestdocker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnfdocker exec -it mysql mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';"docker stop mysql; docker start mysqldocker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latestdefault_authentication_plugin

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐