问题的原因:是从MySQL8.0 开始,默认的加密规则使用的是 caching_sha2_password。 我看了下我从官方拉下来的 docker 镜像版本是8以上版本。
在启动MySQL 容器的时候,可以修改一些设置的。主要有2种方式。1. 自定义配置文件,并 mount 到 container里。这样在MySQL启动时,会加载我们的配置文件。 2. 启动MySQL容器是传入CMD,通过命令修改默认加密规则
# docker run -d -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=weather_db -p 3307:3306 --name test-mysql --default-authentication-plugin=mysql_native_password