【问题标题】:Failed to Connect to MySQL at localhost:3306 with user root使用 root 用户无法在 localhost:3306 连接到 MySQL
【发布时间】:2015-08-15 07:36:10
【问题描述】:

我使用Mysql Workbench连接我的数据库,[

主机名端口和用户名如图,密码正确。当我点击测试连接时,它显示如上。但是如果我使用3307代替3306作为端口,它连接成功。是什么导致了这个问题以及我如何解决它?

我使用的是 macbook pro,但不知道查看哪个 my.cnf。我在终端中使用 sudo vim /usr/local/mysql/my.cnf 。
my.cnf 如下:

[mysqld] 
 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES            

我重写如下:

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M 
[mysqldump]
quick 

但它不起作用。

【问题讨论】:

  • 您的mysql 是否在33073306 端口上运行???
  • 请检查你的mysql配置my.cnf端口应该是port=3306https://dev.mysql.com/
  • @DarshanPatel 是的,它正在运行
  • 但是在哪个端口???按照@ichadhr 的建议检查 my.cnf
  • @Sajad 你一定是在开玩笑。这是 HTTP 服务器的标准端口。这是一个数据库。

标签: mysql


【解决方案1】:

步骤:

1 - 右键单击任务栏 -->启动任务管理器

2 - 单击 服务 按钮(位于底部)。

3 - 搜索 MYSQL57

4 - 在 MYSQL57 上单击鼠标右键 --> 开始

现在再次启动您的 mysql-cmd-promptMYSQL WorkBench

【讨论】:

  • mysql 未提供服务。现在该怎么办?
  • 哪个任务栏?....
  • @Martian2049 任务栏。在 Windows 上,您只能有一个任务栏。
【解决方案2】:

打开系统偏好设置 > MySQL > 初始化数据库 > 使用旧密码加密

【讨论】:

    【解决方案3】:

    尝试在终端中执行以下命令:

    mysql -h localhost -P 3306 -u root -p
    

    如果您成功连接到数据库,那么Mysql Workbench 也会发生同样的事情。

    如果您无法连接,那么我认为3306 端口已被另一个进程获取。

    查找在3306 端口上运行的进程。如果需要,请使用 sudo 授予管理员权限。

    netstat -lnp | grep 3306
    

    终止/停止该进程并重新启动您的 MySQL 服务器。你可以走了。


    执行以下命令在macbook中查找my.cnf文件。

    mysql --help | grep cnf
    

    您可以将MySQL 端口更改为系统中的任何可用端口。但在那之后,请确保您重新启动 MySQL 服务器。

    【讨论】:

    • 我使用你的命令并显示如下:`优先顺序,my.cnf,$MYSQL_TCP_PORT,/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/ etc/my.cnf ~/.my.cnf `我检查了四个文件,都是空的。为什么要为我做什么?
    • 我使用 mysql -h localhost -P 3306 -u root -p 连接,但显示 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) I使用 mysql --help | grep cnf 它什么也不显示。
    • 然后使用netstat commnad 找出哪个进程正在为端口3306 运行,并执行mysql -h localhost -P 3307 -u root -p。如果您使用 3307 成功,那么您的 MySQL 服务器正在 3307 端口上运行。
    • 这在 PC 上运行良好,但命令是:netstat -a -n -o ... 在命令行上(您可能需要管理员权限)...然后从最后一列并在任务管理器的详细信息窗格中查找它(CTL+SHIFT+ESC)我能够确定是的,MySql 在那个端口上......遗憾的是,这并不意味着我实际上解决了这个问题,但这是一个很好的诊断步骤。 ++
    • 这适用于 CLI,但我仍然无法在工作台中连接。我的问题可能是什么?
    【解决方案4】:

    我在上次更新 Windows 后遇到了这个确切的问题,但上述解决方案均无效。我知道这是一个老问题,但如果将来有人遇到这个问题:

    我设法通过转到 Windows 控制面板 > 管理工具 > 组件服务并在服务(本地)列表中找到“MySQL57”来解决它(我假设您的服务器的名称可能略有不同)。

    我通过右键单击转到属性并将常规选项卡下的启动类型更改为自动。然后我进入登录选项卡并选中“允许服务与桌面交互”。

    如果这些都不起作用,您可以尝试选中“此帐户”框并使用您在安装服务器后设置的根密码填写两个密码字段(将帐户留空)。

    我知道要做的事情很多,而且这些步骤中的大多数肯定是无效的,但我一下子就完成了,坦率地说,我不知道哪一个解决了问题。祝你好运,我希望它有所帮助。

    【讨论】:

      【解决方案5】:

      这样对我有用:

      第一步:打开系统偏好设置> MySQL > 初始化数据库。

      第二步:输入你在安装 MySQL 时使用的密码。

      Step3:启动 MySQL 服务器。

      第 4 步:回到 MySQL Workbench 并双重连接/创建一个新的。

      【讨论】:

        【解决方案6】:

        转到系统首选项,然后转到“MySQL”。 点击“启动 MySQL 服务器”。

        【讨论】:

          【解决方案7】:

          MySQL 默认端口为 3306,但可能由于某些原因不可用,请尝试重新启动您的机器。还要检查你的 MySQL 配置文件(应该叫做“my.cnf”)并检查使用的端口是 3306 还是 3307,如果是 3307,你可以将其更改为 3306,然后重新启动你的 MySQL 服务器。

          【讨论】:

            【解决方案8】:

            转到>系统偏好>mysql>初始化数据库

            -更改密码 -单击使用旧密码 -点击启动sql server

            它现在应该可以工作了

            【讨论】:

              【解决方案9】:

              在导航器的右侧-> 实例-> 单击启动/关闭-> 单击启动服务器

              一定会成功的

              【讨论】:

                【解决方案10】:
                1. 转到左上角的苹果图标并点击“系统偏好设置”

                2. 在底部找到“Mysql”并点击

                3. “启动Mysql服务器”

                【讨论】:

                  【解决方案11】:

                  它失败了,因为您的计算机上没有安装服务器。您需要下载“MySQL Community Server 8.0.17”并重新启动您的服务器。

                  【讨论】:

                    【解决方案12】:
                    1. 将root用户设置为mysql_native_password

                    $ sudo mysql -u root -p # 我必须使用“sudo”,因为是新安装

                    mysql:~USE mysql;
                    mysql:~SELECT User, Host, plugin FROM mysql.user;
                    mysql:~UPDATE user SET plugin='mysql_native_password' WHERE User='root';
                    mysql:~FLUSH PRIVILEGES;
                    mysql:~exit;

                    $service mysql restart

                    【讨论】:

                      【解决方案13】:

                      我在 MACOS 上遇到了同样的问题。我做了以下。确保已安装 MySQL 服务器。

                      1. Command + Space -> 键入 mysql。打开选项 mysql.prefPane
                      2. 单击停止 MySQL 服务器按钮。让服务器停止。
                      3. 点击初始化数据库按钮
                      4. 将打开一个新的弹出窗口。输入您想要的 root 用户密码。
                      5. 一旦密码足够长,确定按钮将被启用。点击确定按钮
                      6. 从 MySQL WorkBench 测试连接并输入您在上述步骤中设置的密码。它应该可以工作。

                      【讨论】:

                        【解决方案14】:

                        对于那些在 docker 上的 SQL Server 容器上获取​​此内容的人,当您执行运行命令时,请确保输入 -p 3306:3306,例如,我的运行命令看起来像 docker run --name test-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=your_password -d mysql

                        【讨论】:

                          猜你喜欢
                          • 2019-01-05
                          • 1970-01-01
                          • 2022-01-03
                          • 2014-11-04
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2018-01-06
                          • 1970-01-01
                          相关资源
                          最近更新 更多