我正在尝试在Docker容器中运行MySQL数据库并从主机连接到它。我所做的是:
在Ubuntu主机上安装MySQL:
sudo apt-get update
sudo apt-get install mysql-server
mysql_secure_installation
版本是5.7.11,然后我按照here所述安装Docker CE。要运行我的MySQL并获取IP服务器:
docker run --detach --name=test-mysql --env="MYSQL_ROOT_PASSWORD=password" mysql
docker inspect test-mysql | grep IPAddress
然后我尝试使用以下命令连接到MySQL数据库:
mysql -uroot -ppassword -h 172.17.0.2 -P 3306
受到以下人员的欢迎:
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be
loaded: /usr/lib/mysql/plugin/caching_sha2_password.so: cannot open shared
object file: No such file or directory
我知道有changes to MySQL Authentication。这是8.0.4,Docker image for MySQL上的版本似乎是8.0.11,所以我认为它是相关的。
我意识到我可以运行早期版本的MySQL图像,例如:
docker run --detach --name=test-mysql --env="MYSQL_ROOT_PASSWORD=password" mysql:5
确实这会让我登录到Docker Container的MySQL。我怀疑我还可以安装更新的MySQL版本,described here。
但我想了解问题是什么,我不确定我是否真的可以选择切换版本。所以我的问题是: