【问题标题】:ERROR 2003 (HY000): Can't connect to MySQL server on localhost (10061)错误 2003 (HY000): 无法连接到本地主机上的 MySQL 服务器 (10061)
【发布时间】:2013-07-02 12:47:37
【问题描述】:

我使用 noinstall Zip Archive 在 Microsoft Windows 8 上安装了 MySQL。但是当我在windows提示符下执行以下命令进行测试时,出现了上述错误。

C:\> "C:\MySQL\bin\mysqlshow" 

C:\> "C:\MySQL\bin\mysql" test

【问题讨论】:

  • 听起来 MySQL 服务没有运行。你确认它已经开始了吗?
  • 我只是采取了简单的方法并重新安装了 MySQL。之后工作

标签: mysql


【解决方案1】:

您无需重新启动 Windows。实现这一目标的最简单方法是

  1. 转到<Extracted folder location>/bin/
  2. 运行mysqld(服务)
  3. 关闭 cmd 提示符
  4. 运行 mysql.exe 或更好的方法是将位置添加到 PATH 环境变量中

【讨论】:

  • 我的问题是mysql服务没有运行。无论重启解决了我的问题。
  • @Imray:在你的安装目录下可以看到/bin
  • @CodyBugstein 您安装 mysql 文件夹的位置。通常在 C:/(对于 windows)
  • 上述问题解决后我遇到stackoverflow.com/questions/41504580/…
【解决方案2】:

转到运行类型services.msc。检查 MySQL 服务是否正在运行。如果没有,请手动启动它。启动后,输入mysqlshow 以测试服务。

【讨论】:

  • mysql 服务已关闭。启动后,它解决了问题
【解决方案3】:
  1. 到bin目录复制路径并将其设置为环境变量。
  2. 以管理员身份运行命令提示符并 cd 到 bin 目录。
  3. 运行命令:mysqld –install
  4. 现在服务安装成功
  5. 在os的服务窗口启动服务
  6. 输入mysql 然后去

【讨论】:

  • 不错!我唯一需要做的就是在第 4 步之后运行:“net start mysql”。可能这就是您在第 5 步中手动执行的操作吗?
  • 太可爱了!我绝望地停用了 UAC、防火墙、重新启动......但是当我安装服务时它工作得很好!谢谢,太好了!
  • 我还必须运行 'net start mysql' 来启动 MySQL 服务 @DamodarBashyal 谢谢!请编辑第 5 步以说明这一点,因为它现在很清楚
  • 在我的特殊情况下,我收到 "File not found" 错误(尝试启动服务时)。问题出在默认情况下分配给服务的不正确的可执行路径(使用mysqld --install)。因此,我将其更改为更正 Windows 注册表 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL) 中的一个 (C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin\mysqld)。
【解决方案4】:

虽然这是一个老问题,但我在其中添加了我的答案,因为作为管理员用户在 Windows 7 上为我工作的解决方案在答案列表中缺失。虽然我的解决方案是针对已安装的 MySQL,但我将它提供给那些搜索此错误消息的解决方案的人。这里是:

  1. 单击 Windows 7 开始按钮并在搜索栏中输入taskmgr
  2. 右键单击taskmgr程序图标并选择Run as administrator
  3. 在任务管理器窗口中,转到Services 选项卡
  4. 右击MySQL服务并点击Start Service

【讨论】:

  • 我真的不知道这是如何工作的,但如果有人想知道,它也可以在 Windows 10 上运行
【解决方案5】:

对我有用的解决方案是:

  1. 已下载 mysql-8.0.22-winx64.zip 文件
  2. 解压压缩文件
  3. 将解压后的文件夹移至 C:/Program Files
  4. 以管理员身份打开 cmd.exe
  5. 导航到目录cd C:\Program Files\mysql-8.0.22\mysql-8.0.22-winx64\bin
  6. mysqld -install(服务安装成功)
  7. mysqld --initialize(无提示)
  8. 打开 services.msc
  9. 找到 MySQL
  10. 右击开始

【讨论】:

    【解决方案6】:

    我被困在同样的问题上感觉就像是永恒一样。

    我的问题是:我在端口 8889 上从 MAMP 运行 mysql,但是当我尝试从我的命令行连接到 mysql 时,它需要端口 3306。我没有想法,所以我尝试了:

    mysql --port 8889

    幸福随之而来:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.6.34-log MySQL Community Server (GPL)
    

    【讨论】:

    • 什么是 MAMP?你能澄清一下吗
    【解决方案7】:

    转到运行类型services.msc。检查MySQL 服务是否正在运行。如果没有,请手动启动它。

    【讨论】:

      【解决方案8】:
      1. 以管理员身份运行你的 cmd。

      2. 你会看到是这样的:

        c:\windows\system32>
        
      3. 使用 cd.. 转到您的 bin 位置 像C:\mysql\bin (我电脑中的 bin 位置就是你所看到的,所以正确选择了你的)

      4. 运行:

        $ C:\mysql\bin>mysql --install
        
        Service successfully installed.
        
      5. 然后运行:

        $ C:\mysql\bin>NET START MySql
        
        The MySql service is starting
        The MySql service was started successfully
        
      6. 然后最后一步运行:

        C:\mysql\bin>mysql -u root - p admin
        

        它会要求输入密码第一次不要输入任何东西 因为它将使用空白,只需按 Enter 即可。

      以后你也可以设置密码。

      【讨论】:

        【解决方案9】:

        我有一台 Windows 8.1 机器,即使在尝试启动没有错误日志的 mysqld 之后,mysql 也根本没有运行。这个解决方案对我有用:

        1. 以管理员模式启动 cmd
        2. 输入“net start mysql”
        3. 关闭当前 cmd 窗口并打开新的 cmd 窗口
        4. 输入“mysql”

        mysqld 服务现在应该可用了。

        【讨论】:

          【解决方案10】:

          在 Windows 10 和 MySQL 8 中出现此问题。通过以下步骤解决: 搜索栏(左下角)> 任务管理器 > 以管理员身份运行 > 服务 > MySQL80

          【讨论】:

            【解决方案11】:

            这可能有一些原因。

            第一个是MySQL服务器/服务没有启动。

            如果他启动了,您应该检查日志文件,并确保没有问题。

            您也可以卸载 MySQL 服务并安装 XAMPP。 使用 XAMPP 可以更轻松地管理这些服务。

            【讨论】:

            • 感谢您的快速回复。我自己找到了愚蠢的解决方案。系统需要重新启动。我肯定会尝试 XAMPP。
            • 很抱歉,我自己添加了答案。
            【解决方案12】:

            尽管我的服务器正在运行,但我遇到了同样的问题。 我发现那是港口。所以需要指定端口:

            mysql -u user -p --port 0000
            

            您机器上的端口可能不同。要找出 mysql 在哪个端口上运行,请打开 mysql ini 文件并查找port=。经常使用的端口是3306

            如何登录mysql的例子

            mysql -u root -p --port 3306 
            

            【讨论】:

              【解决方案13】:

              测试服务器是否正在运行。您可以为此使用 netstat。见https://serverfault.com/questions/260239/unable-to-connect-to-mysql-through-port-3306

              如果它正在运行,它可能是防火墙。您可以将其关闭以测试是否是问题所在。

              请参阅以下手册以将 Mysql 安装为服务:https://dev.mysql.com/doc/refman/5.5/en/windows-start-service.html

              【讨论】:

              • 感谢您的快速回复。我自己找到了愚蠢的解决方案。系统需要重新启动。我会考虑您的建议。
              【解决方案14】:

              首先,您需要确保服务器正在运行的端口号。然后就可以运行了

              mysql -u username -p --port portNumber 在命令行上

              【讨论】:

                【解决方案15】:

                执行mysqld 命令可以解决您的问题。 我的 SQL 版本是 5.7。

                【讨论】:

                  【解决方案16】:

                  如果您使用的是免安装 zip,则需要先执行 mysqld.exe 来启动服务,然后执行 mysql.exe 来打开您的连接。

                  不安装很好,但如果您打算对 MySQL 进行任何认真的工作,您可能需要考虑使用 MSI 进行正确安装,或者如果您正在进行 Web 开发工作,请尝试使用 XAMPP。

                  【讨论】:

                  • 感谢您的快速回复。我自己找到了愚蠢的解决方案。系统需要重新启动。
                  【解决方案17】:

                  检查 Mysqld.exe 文件是否在您的 bin 文件夹中。如果它不存在,只需从任何其他计算机复​​制该文件并将其粘贴到您的 bin 文件夹中。只需双击。然后运行 ​​mysql.its 解决

                  【讨论】:

                    【解决方案18】:

                    当我们试图打开 mysql 而没有说明服务时,会出现此错误。

                    1. 打开 cmd 提示符 启动服务类型

                      mysqld --console
                      

                      这将启动mysql服务

                    2. 不要关闭这个 cmd 提示并打开一个新的 cmd 提示并 输入

                      mysql -u root -p
                      

                      然后输入你的密码

                    【讨论】:

                      【解决方案19】:

                      确保你的mysql运行在默认端口(3306),如果你运行的mysql使用不同的端口(例如:3307),你必须在连接服务器时指定端口号。

                      如果您的端口与默认端口不同,请尝试使用此命令。

                      mysql -u <username> -p --port<port number>
                      

                      例如:

                      mysql -u root -p --port 3307
                      

                      【讨论】:

                        【解决方案20】:

                        在 Windows 中搜索 服务

                        现在搜索 Mysql。右键单击它。默认情况下,它的启动类型将是“自动”。单击右键菜单上的属性。 你会发现启动类型切换到->手动这样我们就可以根据自己的选择启动和停止了。

                        现在返回并右键单击服务上的 Mysql,然后单击开始。

                        现在Mysql已经启动成功了

                        开始 启动 Mysql Shell & 输入命令

                        shell.connect({host: 'localhost',user: 'root'})
                        

                        现在输入密码

                        要输入 sql 命令:-

                        /sql
                        

                        【讨论】:

                          【解决方案21】:

                          我遇到了同样的问题。我尝试了上面的所有答案(以及一些来自其他网站的答案)。最后,我的问题是我的缓存没有配置。我在错误日志中找到了该信息并通过更改文件中的行来修复它:

                          C:\MAMP\bin\apache\conf\extra\http-ssl.conf

                          我从该行中删除了双引号:

                          SSLSessionCache "shmcb:/some/example/path/ssl_scache(512000)"

                          到:

                          SSLSessionCache shmcb:/some/example/path/ssl_scache(512000)

                          并使用 Ctrl+S 保存并关闭文件。

                          这是帮助我的链接: https://wiki.apache.org/httpd/SSLSessionCache

                          【讨论】:

                          • apache缓存与mysql单机安装和启动有什么关系?
                          【解决方案22】:

                          我多次遇到同样的问题,每次原因都不一样:

                          • 第一次奏效的解决方案是“Abhishek Oza”的解决方案,它与“amey91”的解决方案相同(见上文)
                          • 第二次,我的服务器与默认端口号(3036)不同,所以我无法连接。所以我必须指定 明确用于建立连接的端口号,您可以执行此操作 只需编写:“mysql --host=127.0.0.1 --port=8081(指定您的 端口号) mysql -u root -p"

                          【讨论】:

                            【解决方案23】:

                            就我而言,这是使用 .zip 文件手动安装。 我通过在 my.ini 中指定非标准 MySQL 和数据安装位置解决了这个问题。 https://dev.mysql.com/doc/refman/8.0/en/windows-create-option-file.html

                            然后我需要运行数据目录初始化命令: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html

                            然后运行: 网络启动mysql

                            【讨论】:

                              【解决方案24】:

                              您的 MYSQL 安装可能已损坏。您可以做的最好的事情是在您的系统上搜索 MYSQL INSTALLER,然后再次运行它。

                              它不会再次下载mysql服务器,它只会帮你设置它。

                              之后,编辑您的environment variables 路径并将您的mysql 的bin 文件夹添加到其中。

                              现在应该可以了。

                              【讨论】:

                                【解决方案25】:

                                我对大多数这些解决方案都有疑问。我在 C 盘中找不到 bin 文件夹的事实。我尝试了这里提供的解决方案“https://www.howtosolutions.net/2017/08/fixing-mysql-10061-error-after-migration-of-database-files/”和 vwala“欢迎使用 mysql 监视器....”

                                【讨论】:

                                • 嗨,GRIGGZ,欢迎。请考虑添加更多信息,因为如果链接过时,您的回答不会为社区增加任何价值。
                                【解决方案26】:

                                在我的情况下,我在 Windows 操作系统中有 2 个不同版本的 mysql,我通过底部步骤解决了我的问题:

                                先停止所有mysql服务。

                                我在 C:\mysqldata.cnf 中创建了一个带有底部数据的配置文件(我的 mysql 在“C:/mysql-5.0.96-winx64”目录中):

                                [mysqld]
                                datadir = C:/mysql-5.0.96-winx64/data
                                port = 3307
                                

                                然后我在 cmd 中运行底部命令:

                                C:\mysql-5.0.96-winx64\bin\mysqld --defaults-file=C:\mysqldata.cnf --console
                                

                                above step reference

                                然后我在 C:\resetpass.txt 中创建带有底部数据的 txt 文件:

                                UPDATE mysql.user SET password=PASSWORD('ttt') WHERE user='root';
                                

                                然后用底部命令运行mysqld:

                                C:\mysql-5.0.96-winx64\bin\mysqld --init-file=C:\resetpass.txt --install mysql2 --console
                                net start mysql2
                                

                                在这些步骤之后,您将拥有一个 mysql 服务(名称为 mysql2),而不是使用端口 3307 运行。

                                我有 2 个版本的 mysql 和不同的用户管理表(在 5.0.96 版本中用户表与 5.5 版本不同,因为我必须在第一步更改表文件夹)

                                您现在可以使用其他端口运行其他 mysql 服务(并且您可以使用不同的数据目录、服务名称和端口再次运行此步骤)

                                【讨论】:

                                  【解决方案27】:
                                  1. 首先确保你已经安装了MYsql+Sqlyog(如果你正在使用的话)。

                                    • 启动注册表编辑器 (Regedt32.exe)。
                                  • 在注册表中找到以下键:

                                    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 在编辑菜单上,单击添加值,然后添加以下注册表值:

                                       Value Name: MaxUserPort
                                       Data Type: REG_DWORD
                                       Value: 65534
                                    

                                    这将设置可供任何用户使用的临时端口的数量。有效范围是 介于 5000 和 65534(十进制)之间。默认值为 0x1388(十进制 5000)。

                                    在编辑菜单上,单击添加值,然后添加以下注册表值:

                                       Value Name: TcpTimedWaitDelay
                                       Data Type: REG_DWORD
                                       Value: 30
                                    

                                    这设置在 TIME_WAIT 状态之前保持 TCP 端口连接的秒数 关闭。有效范围在小数点后 30 到 300 之间,尽管您可能希望检查 与 Microsoft 获取最新的允许值。默认值为 0x78(十进制 120)。

                                    Quit Registry Editor.
                                    
                                    Reboot the machine.
                                    

                                  【讨论】:

                                  • 您确定您的答案符合问题吗?引用TCP/IP and NBT configuration parameters for Windows XPThere may be some unusual circumstances in customer installations where changes to certain default values are appropriate. .. Caution The Windows XP TCP/IP implementation is largely self-tuning. Adjusting registry parameters without careful study may reduce your computer's performance.
                                  【解决方案28】:

                                  我建议先检查my.ini是否存在于c盘或windows文件夹的mysql文件夹中 mysqld -install (服务安装成功) mysqld --initialize(无提示) 另外一个建议是不要使用mysql 8,因为它不兼容wordpress或任何其他开源,版本5和版本8之间有很多变化,所以如果你使用mysql,请使用版本5.x。

                                  【讨论】:

                                    【解决方案29】:

                                    解决问题的步骤 ->

                                    1. 转到命令提示符并位于 c 的根目录(如果设置了环境变量路径,则为 c:\) 输入 -> c:\&gt;mysqld -install
                                    2. 然后输入 -> c:\mysqld --initialize
                                    3. 现在在 mysql 的根目录创建一个 .txt 文件(在我们的示例中,我们使用 init.txt)(可能根据您的目录而有所不同)->c:\MySQL\init.txt
                                    4. 现在打开那个 .txt 文件 (init.txt) 并写入其中 ->

                                    5.open 运行控制台并写入 -> Services.msc

                                    6.然后会打开服务窗口,选择MYSQL,双击它并按开始

                                    7.最后打开新的命令提示符窗口并在 c (c:) 的根目录下键入 ->c:\&gt;mysqlsh 由于这个 shell 将执行,在这里你准备好了....

                                    【讨论】:

                                      【解决方案30】:
                                      mysql -u root --port 3308
                                      

                                      这个帮帮我

                                      来自 phpmyadmin 默认端口的端口号是 3306

                                      【讨论】:

                                        猜你喜欢
                                        • 2012-01-23
                                        • 1970-01-01
                                        • 2016-12-03
                                        • 2022-12-14
                                        • 1970-01-01
                                        • 2012-07-30
                                        • 2016-08-05
                                        • 2014-03-10
                                        • 2014-08-22
                                        相关资源
                                        最近更新 更多