繁体   English   中英

Mssql 登录失败 ECONNREFUSED 127.0.0.1:1433

[英]Mssql login fail ECONNREFUSED 127.0.0.1:1433

while trying to log in using this.. mssql -u sa -p mypassword.i get this error, Error: Failed to connect to localhost:1433 - connect ECONNREFUSED 127.0.0.1:1433 I have installed sql server on docker using this https: //www.microsoft.com/en-us/sql-server/developer-get-started/java-mac教程并启动它。 我正在使用 mac os sierra。 我已经在整个互联网上搜索了这个,包括stackoverflow,但没有得到任何答案。 我得到的唯一答案是使用 sql 配置管理器启用 tcp/ip,但是 mac os 没有配置管理器,所以我可以启用 tcp/ip。 请协助。

我终于找到了解决方案.. docker 将内存设置为 2GB 而 MS SQL 服务器需要 3.25GB ......我所要做的就是转到 Docker 首选项并将内存更改为 4GB 并且它可以工作:)。 我在 Mac 上的 docker 上使用 sql server。

我正在使用 docker 来设置容器,然后使用 sql-cli 来访问 SQL 服务器。 这就是我解决提供mssql -u sa -p mypassword后出现的错误的方法。

  1. 一开始我没有意识到的是在设置docker容器之前提供的密码太简单了:
docker run -d --name Homer -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=myPassw0rd' -p 1433:1433 microsoft/mssql-server-linux

终端没有说这个,只有在转到 docker > Kitematic 并检查刚刚创建的容器的日志后,我才看到这样的安全警告。 我删除了该容器并创建了一个具有强密码的容器。

  1. 然后我在启动错误的容器后收到错误消息(因此连接失败,因为我试图为不同的容器提供密码)。 从那时起,我更喜欢使用 Kinematic 来管理和访问我的容器。 在我在终端中键入mssql -u sa -p mypassword并开始工作之前,我只需转到 docker > Kinematic 并启动我的容器。

在我的情况下,容器由于不安全的 mssql 密码而退出。 尝试阅读容器日志。

就我而言,我只需要启动容器。

docker start {container_name}

就我而言(我正在关注本教程https://database.guide/how-to-install-sql-server-on-a-mac/ )问题是主机地址。

我试图连接到 localhost 并且我收到了 ECONNREFUSED 消息,但后来我意识到我需要使用分配给容器的本地 IP docker(类似于 192.168.xxx.xxx),所以:

mssql -s 192.168 ..... -o 1433 -u sa -p '我的密码'

终于措辞了。

我有同样的情况,就我而言,我注意到问题出在端口上,所以:

1)检查容器是否正在运行

docker start "container_name"

2)然后,获得正确的端口:

docker ps

3)运行它

mssql -s "PORT" -o 1433 -u sa -p "pwd"

我正在添加此答案以补充Krzysztof Tomasz 的答案

我正在关注本指南:如何在 Mac 上安装 SQL Server

一切都很顺利,但在使用以下命令连接到容器时:

mssql -u sa -p mypass1

我得到:

错误:无法连接到 localhost:1433 - 连接 ECONNREFUSED 127.0.0.1:1433

然后我打开 Docker 应用程序,单击容器,在日志菜单中我可以看到以下内容:

在此处输入图片说明

2020-02-05 16:26:45.71 spid20s 错误:无法设置系统管理员密码:密码验证失败。 密码不符合 SQL Server 密码策略要求,因为它太短。 密码必须至少为 8 个字符。

我设置的密码只有 7 个字符。 :o)

现在这是有道理的。

这也记录在@ Microsoft doc here:

快速入门:使用 Docker 运行 SQL Server 容器映像


通过删除容器并再次启动它解决了这个问题......

因为我只有一个容器,所以我运行了以下命令:

docker rm $(docker ps -a -q)

然后使用更强的密码再次启动 sql server 镜像:

docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MyPass11' -p 1433:1433 microsoft/mssql-server-linux

我通过将端口从 1422 更新到 1433 来解决此问题,我使用 Kitematic 来实现此更新。

我有同样的情况,这是一个 RAM 问题,但是...... 4GB 对我没有帮助,出于某种原因,在我的情况下,我需要 6,然后它起作用了。

确保你已经在 docker 中启动了容器。

启动容器的命令: docker start container "containerName"

然后尝试连接mssql

在使用两个命令研究日志后,我也遇到了同样的问题:

docker ps -a

然后

docker logs 99373f58f2ff

我知道问题与密码不符合 SQL 服务器密码策略有关。 那是。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM