Mssql登录失败ECONNREFUSED 127.0.0.1:1433

时间:2016-11-22 06:07:53

标签: sql-server database macos tcp

尝试使用此登录时.. mssql -u sa -p mypassword .i出现此错误,错误:无法连接到localhost:1433 - 连接ECONNREFUSED 127.0.0.1:1433 我已经使用这个https://www.microsoft.com/en-us/sql-server/developer-get-started/java-mac教程在docker上安装了sql server并启动了它。 我正在使用mac os sierra。我已经搜索了整个互联网,包括stackoverflow,但没有得到答案。我得到的唯一答案是使用sql配置管理器启用tcp / ip,但mac os没有配置管理器,所以我可以启用tcp / ip。请帮助。

10 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:4)

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

docker start {container_name}

答案 2 :(得分:3)

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

答案 3 :(得分:3)

我正在使用docker设置容器,然后使用sql-cli访问SQL Server。这就是我解决提供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并检查刚刚创建的容器的日志之后,终端机才说这句话,我看到了这样的安全警告。我删除了该容器,并使用强密码创建了一个容器。

2)然后我在启动错误的容器后收到错误消息(由于我试图为其他容器提供密码,所以连接失败)。从那时起,我更喜欢使用Kinematic来管理和访问我的容器。在终端中输入mssql -u sa -p mypassword并开始工作之前,我只是去docker> Kinematic并启动我的容器。

答案 4 :(得分:2)

我正在添加此答案以补充Krzysztof Tomasz's answer

我正在遵循本指南:How to Install SQL Server on a Mac

一切正常,但是在使用以下命令连接到容器时:

mssql -u sa -p mypass1

我知道了

错误:无法连接到本地主机:1433-连接ECONNREFUSED 127.0.0.1:1433

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

enter image description here

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

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

现在这很有意义。

这也记录在@ Microsoft文档中:

Quickstart: Run SQL Server container images with Docker


通过removing the container解决了该问题,然后再次启动...

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

docker rm $(docker ps -a -q)

然后使用更强的密码再次启动sql服务器映像:

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

答案 5 :(得分:1)

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

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

mssql -s 192.168 ..... -o 1433 -u sa -p'mypassword'

最终措辞

答案 6 :(得分:0)

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

答案 7 :(得分:0)

我有同样的,这是一个RAM问题,但是... 4GB没有为我做,因为某些原因在我的情况下我需要6,然后它工作。

答案 8 :(得分:0)

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

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

,然后尝试连接mssql

答案 9 :(得分:0)

我也有相同的情况,我注意到问题出在PORT,所以:

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

docker start "container_name"

2)然后,使用以下命令获取正确的端口:

docker ps

3)运行

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