首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过本地主机通过HeidiSQL连接到mysl容器

问无法通过本地主机通过HeidiSQL连接到mysl容器
EN

Stack Overflow用户
提问于 2022-02-17 15:51:49
回答 1查看 756关注 0票数 0

环境:

我已经通过以下命令在Windows 11上创建并启动了一个Docker容器:

代码语言:javascript
复制
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

然后,我使用以下选项创建了一个新的HeidiSQL会话:

图书馆: libmysql.dll

东道主: 127.0.0.1

用户:根

密码:根

港口: 3306

单击“打开”后,它表示“无法连接到'127.0.0.1‘(10061)上的MySQL服务器”。

我可以通过码头连接到集装箱。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-17 15:51:49

经过一些研究和实验,我找到了一个解决办法。

首先,必须迫使港口矮化为3306:3306。

必须创建并运行带有参数-p 3306:3306的Docker容器。

代码语言:javascript
复制
docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

现在错误被更改了,但至少它可以连接到服务器。

“拒绝用户'root'@'172.17.0.1‘的访问(使用密码:是)”

现在,在web上找到的大多数解决方案都告诉用户创建一个新用户'root'@'172.17.0.1',并将所有权限授予用户。

但是,即使在创建用户之后,HeidiSQL也无法再次登录(相同的“拒绝访问”错误)。

奇怪的是,如果您使用终端与新用户登录,然后尝试使用HeidiSQL登录,现在它可以工作了,每次重新启动容器时都会发生这种情况。

在搜索之后,我发现了以下内容:https://github.com/HeidiSQL/HeidiSQL/issues/980

因此,问题是libmysql.dll过时了,不受支持,而且每次尝试使用HeidiSQL进行访问时都会失败。

您必须切换到与mysql兼容的libmariadb.dll,这是创建新用户所不需要的。

不要使用libmysql-6.1.dll,因为崩溃和不工作是出于某些原因.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71161296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档