使用MySQL v5.7 MySQL客户端(Ubuntu)连接到MySQL v8 +(Docker CE)?

时间:2018-04-21 15:23:07

标签: mysql docker

我正在尝试在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

但我想了解问题是什么,我不确定我是否真的可以选择切换版本。所以我的问题是:

  • 为什么我不能登录是不支持新身份验证协议的旧MySQL版本?
  • 是否可以通过更改某些配置使用此组合登录Docker容器?

0 个答案:

没有答案