【问题标题】:Cannot connect to Database server (mysql workbench)无法连接到数据库服务器(mysql 工作台)
【发布时间】:2011-12-13 10:30:15
【问题描述】:

你能帮我解决这个问题吗?

当我尝试单击 Mysql 工作台中数据库菜单下的“查询数据库”时。它给了我一个错误:

无法连接到数据库服务器

用户“root”从主机到服务器的连接尝试失败 127.0.0.1:3306:无法连接到'127.0.0.1'上的mysql服务器(10061)

请:

  1. 检查 mysql 是否在服务器 127.0.0.1 上运行
  2. 检查 mysql 是否在 3306 端口上运行(注意:3306 是默认的,但可以更改)
  3. 检查 root 是否有权从您的地址连接到 127.0.0.1(mysql 权限定义了哪些客户端可以连接到服务器以及从哪些机器)
  4. 确保您在需要时提供密码,并使用正确的密码进行 127.0.0.1 从您要连接的主机地址进行连接

【问题讨论】:

标签: mysql mysql-workbench


【解决方案1】:

此问题可能是由于在升级到 ubuntu 16.04 期间未设置密码时默认为 root 用户启用了套接字身份验证。

解决方案是恢复到本机密码身份验证。您可以通过使用套接字身份验证登录 MySQL 来做到这一点:

sudo mysql -u root

登录后:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

这将恢复到本机(旧默认)密码身份验证。

现在在 MySQL 需要时使用 password 作为密码。

【讨论】:

  • 它对我有用,我很惊讶,我已经在安装 mysql 时配置了严格密码,并且与给定的 alter 查询使用了相同的严格密码。我很想知道为什么它在第一次尝试时没有成功
  • 非常感谢!这种行为是否只是为了方便 unix root 用户登录 mysql 而无需输入密码?
  • 很好的解决方案。谢谢兄弟!
【解决方案2】:

尝试从开始菜单搜索框打开services.msc并尝试手动启动MySQL服务或直接在Run框中写入services.msc

【讨论】:

  • 对我不起作用。直接从命令行运行“C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe --console”(注意“mysql”和“.exe”之间的“d”确实有效(打开命令行“以管理员身份”)。所以我想找到一种“以管理员身份”启动服务的方法可以解决这个问题。
  • 开始菜单搜索框在哪里?
  • 我的解决方案是使用 sudo: sudo mysql-workbench 运行 Mysql-Workbench。不知道在哪里可以找到 services.msc
【解决方案3】:

看来这个错误有很多原因。

我的原因/解决方案

在我的例子中,原因是我的服务器被配置为只接受来自本地主机的连接。我按照这篇文章修复了它:How Do I Enable Remote Access To MySQL Database Server?。我的my.cnf 文件没有skip-networking 行,所以我只是更改了行

bind-address = 127.0.0.1

bind-address = 0.0.0.0

这允许来自任何 IP 的连接,而不仅仅是 127.0.0.1。

然后,我创建了一个 MySql 用户,该用户可以通过运行以下终端命令从我的客户端计算机进行连接:

# mysql -u root -p
mysql> CREATE USER 'username'@'1.2.3.4' IDENTIFIED BY 'password';
    -> GRANT ALL PRIVILEGES ON *.* TO 'username'@'1.2.3.4' WITH GRANT OPTION;
    -> \q

1.2.3.4 是您尝试连接的客户端的 IP。如果实在有问题,可以用'%'代替'1.2.3.4',让用户可以从任意IP连接。

其他原因

有关相当广泛的列表,请参阅Causes of Access-Denied Errors

【讨论】:

  • AFAIK,用户的创建是必要的,因为用户 root 应该只用于管理工作,并且明智地应该限制为 localhost。除此之外,您创建什么用户取决于您!
  • 访问被拒绝错误原因的链接现已断开。
  • 我遇到了类似的问题,对我有用的是 mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'Password123#@!'; -> 将所有权限授予 . 到 'username'@'%' WITH GRANT 选项; -> \q 我不必做绑定的事情,我的密码设置为中,您可以使用“SHOW VARIABLES LIKE 'validate_password%';”进行检查注意:这是我的开发 ubuntu 设置
【解决方案4】:

您是否尝试确定这是 Workbench 的问题还是一般的连接问题?试试这个:

  1. 打开终端
  2. 输入mysql -u root -p -h 127.0.0.1 -P 3306
  3. 如果您可以成功连接,您将在输入密码后看到 mysql 提示(输入 quit 并在此处输入退出)。

报告这是如何工作的。

【讨论】:

  • 您好,它说“mysql 不是内部或外部命令、可运行程序或批处理文件。”非常感谢。
  • 您可能希望将the mysql bin directory(MySQL 主目录中的bin 目录)添加到the system path。然后 mysql 客户端程序将在任何地方可用。或者您可以在 cd-ing 到 MySQL bin 目录后运行该命令。两者都应该工作。
  • 当我使用这个命令连接到 mysql 时 $> mysql -u root -p -h 127.0.0.1 -P 3306 Enter password: ERROR 1045 (28000): Access denied for user 'root'@' localhost' (使用密码: NO) [root@localhost ~]# mysql -u root -p -h 127.0.0.1 -P 3306 Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (使用密码:YES) [root@localhost ~]# mysql -u admin -p -h 127.0.0.1 -P 3306 Enter password: ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (使用密码:是)[root@localhost ~]#
  • 为我工作!!非常感谢!
【解决方案5】:

我在 Mac OS 上遇到过类似的问题,我可以通过这种方式解决它:

从终端运行:

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

然后,我被要求输入密码。我只是按enter,因为没有设置密码。

我收到一条消息如下:

欢迎使用 MySQL 监视器。命令以 ; 结尾或\g。你的 MySQL 连接 ID 为 181。服务器版本:8.0.11 Homebrew。

如果你成功登录mysql>,运行以下命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

你应该收到这样的消息:

查询正常,0 行受影响(0.19 秒)

现在,您的密码是“password”,您的用户名是“root”。

编码愉快:)

【讨论】:

  • 这可能不再适用于较新的安装,因为匿名登录被禁用。
【解决方案6】:

运行 ALTER USER 命令。请务必将密码更改为您选择的强密码。

  1. sudo mysql#登录mysql`

  2. 运行以下命令

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    

现在您可以使用新密码访问它了。

参考:https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04

【讨论】:

    【解决方案7】:

    我必须以管理员身份启动 Workbench。显然它没有连接到我的本地主机数据库服务器进程所需的权限。

    右键单击 Workbench 快捷方式并选择 Run as Administrator。在快捷方式的“属性”窗口中,您可以单击“高级”并勾选“以管理员身份运行”旁边的框以始终以管理员权限运行工作台。

    【讨论】:

      【解决方案8】:

      发生错误是因为 mysql 服务器未在您的计算机上启动。您应该手动启动它。执行以下步骤:

      1. 根据您的计算机中的位版本(32位或64位)下载并安装wamp服务器(http://wampserver-64bit.en.softonic.com/)此链接允许您下载64位的wamp服务器。

      2. 安装后,您可以双击并运行它..(您可以在任务栏的右侧看到一个图标。它可能被隐藏了。所以您可以单击向您显示的箭头隐藏正在运行的应用程序)。因此单击图标并转到 Mysql

      3. 然后转到Service,在那里你可以找到Start/Resume Services点击它..

      4. 现在已经完成了。打开mysql工作台看看。它会工作..

      【讨论】:

      • 为我工作!需要手动启动服务器。谢谢
      【解决方案9】:

      我为这个问题苦苦挣扎了一段时间,并在发现这个问题之前重新安装了几次 MySQL。

      我知道 MySQL 服务器运行正常,因为我可以使用命令行访问我的所有数据库。

      希望这对你有用。

      MySQL Workbench (5.2.47 CE)

      点击管理服务器实例(右下角)

      点击连接

      连接框中选择:

      本地实例 ($ServerName) - root@127.0.0.1:3306 '

      点击编辑所选...

      Parameters, Hostname 下将 localhost 或 127.0.0.1 更改为您的 NetBIOS 名称

      点击测试连接

      如果这对你有用,那就太好了。如果没有将主机名改回原来的样子。

      【讨论】:

      • 这对我有用。 NetBIOS 名称是计算机的名称,您可以从系统属性,“计算机名称”选项卡,“计算机全名”中读取。
      【解决方案10】:

      我的原因是我尝试使用最新的 MySQL Workbench 8.x 连接到 MySQL Server 5.1(都在 Windows Server 2012 上运行)。

      当我卸载 MySQL Workbench 8.x 并安装 MySQL Workbench 6.3.10 时,它成功连接到 localhost 数据库

      【讨论】:

        【解决方案11】:

        对于那些忽略了初始错误消息显示如下的人:

        名称 org.freedesktop.secrets 不是由任何 .service 文件提供的

        确保使用以下命令安装 gnome-keyring

        sudo apt install gnome-keyring
        

        【讨论】:

          【解决方案12】:

          我在 Ubuntu 上使用 Workbench 时遇到了同样的问题,问题在于许可。

          1. 查找 Workbench 应用程序
          2. 点击按钮权限
          3. 为此应用授予所有权限

          【讨论】:

            【解决方案13】:

            我之前和上次都遇到过类似的情况,我发现这是一些 Windows 更新问题(不确定)。这一次,我打开 MySQL 工作台,发现没有连接到我的本地数据库。我看不到我的表,但昨天我可以连接到数据库。

            我发现我的原因是,让我的电脑休眠一段时间后再次唤醒它,mysql服务没有运行。 我的解决方案:重新启动名为“mysql”的服务并重新运行工作台。重新启动服务需要一段时间,但它可以工作。

            【讨论】:

              【解决方案14】:

              为更高版本和更高版本的访问者提供最新信息:

              目前我正在开发一个 64 位的 win7,上面有不同的工具,包括 python 2.7.4 作为 google android 的先决条件......

              当我从 WB 6.0.8-win32 升级到更高版本以获得 64 位性能时,我遇到了一些问题,例如在 6.3.5-winx64 上,我在表格的详细信息视图(无序视图)中有一个错误导致我降级到 6.2.5-winx64。

              作为一个 GUI 用户,简单的前向/后向工程和数据库服务器相关项目运行良好,但是当我们尝试 Database>Connect to Database 时,我们将有 Not connected 并且如果我们尝试执行查询则会出现 python 错误但是数据库服务器服务绝对运行并且运行良好,这个问题不是来自服务器,而是来自工作台。要解决它,我们必须使用Query>Reconnect to Server 明确选择数据库连接,然后几乎一切看起来都很好(这可能是由于我的多个数据库连接,我找不到在工作台中定义默认数据库连接的解决方案)。

              作为说明:因为我使用的是最新的 Xampp 版本(即使在 linux 上瘾 :)),最近 Xampp 使用 mariadb 10 而不是 mysql 5.x 导致 mysql 文件版本为 10 可能会导致一些问题,例如转发可以通过mysql_upgrade.exe 解决的程序工程,但是当我们尝试检查数据库连接时,wb 会通知错误的版本,但它并不重要并且运行良好。

              结论:因此有时工作台中的数据库连接问题可能是由于自身而不是服务器(如果您没有其他数据库连接相关问题)。

              【讨论】:

                【解决方案15】:

                我的问题是 MySQL 服务器实际上并没有安装。我已经运行了 MySQL 安装程序,但它没有安装 MySQL 服务器。

                我重新运行安装程序,单击“添加”,然后将 MySQL 服务器添加到列表中。现在它工作正常。

                【讨论】:

                  【解决方案16】:

                  在我的情况下,我刚刚安装了 MySQL Workbench,但是在卸载 MySQL Workbench 并安装 MySQL 安装程序之后,对于 32 位和 64 位都是相同的,然后它就像一个魅力一样工作。希望对你有用。

                  【讨论】:

                    【解决方案17】:

                    即使我在打开 MYSQL 工作台时也遇到了类似的错误。 对我有用的解决方案是

                    1. 点击windows机器中的开始按钮
                    2. 输入服务并按回车
                    3. 找到MYSQL并点击它
                    4. 在左侧面板的顶部,您会发现启动服务
                    5. 点击显示为超链接的开始

                    希望这可能会有所帮助。

                    【讨论】:

                      【解决方案18】:

                      我尝试了这些步骤 -

                      第 1 步: 转到 Ubuntu 软件中心

                      第 2 步: 搜索 MySql Workbench

                      第 3 步:然后点击权限

                      第 4 步:启用读取、添加、更改或删除已保存的密码

                      然后,输入登录密码

                      然后,我发现我的问题解决了

                      【讨论】:

                        【解决方案19】:

                        我也为这个问题苦苦挣扎了好一阵子。

                        我遇到了这个interesting thread from MySQL forum: http://forums.mysql.com/read.php?11,11388,11388#msg-11388

                        我也(显然)遇到了一些不错的 SO Q/A。

                        似乎“user948950”的问题中提到的消息可能来自多种原因:日志文件太大、mysql.ini 文件值不正确、文件路径中有空格、安全/acl 问题、旧注册表中的条目,等等。

                        所以,在尝试了 3 小时来解决这个问题之后......我放弃并决定重新安装一个好的旧版本。

                        这是this post from (again) this MySQL thread came in useful,我引用:

                        Gary Williams 写道:大家好,

                        我遇到了完全相同的问题,这就是我的工作方式 对我来说,从非工作安装开始。

                        1. 停止任何现有 mysql 安装的 windows 服务。

                        2. 卸载 Mysql。

                        与大多数卸载一样,旧文件会被遗留下来。如果你的目录 是 C:\mysql\ etc 然后删除 innob 等文件,但保留 目录本身以及“数据”中的任何现有数据库。 如果你的目录是C:\Program Files\等,删除所有mysql 目录。

                        1. 现在值得运行 regedit 以确保旧的注册表项也被卸载删除。如果没有,请删除它们。

                        2. 可以使用新的 .msi 安装程序(仅限基本文件),但是 ....

                        3. 不要使用他们的默认安装路径!一些天才设置了一条带有空格的路径!选择自定义安装并选择合理的路径, 即,C:\mysql(来自 Adrien 的注释:C:\mysqldata for ... the data)

                        4. 不要选择更改安全设置。取消选中相关框,安装将完成,无需设置 root 密码。

                        我想我已经记住了一切。

                        祝你好运

                        加里

                        当我简单地将我以前的“数据”目录中的数据库复制/粘贴到新目录时,我确实遇到了麻烦。所以我发现的工作是导出每个数据库(我知道......很有趣),然后一个一个地重新导入它们。

                        仅供参考:我使用以下命令导入C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql",例如C:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"

                        【讨论】:

                          【解决方案20】:

                          问题是没有安装MYSQL服务器。 您可以从here获取安装程序

                          然后观看这个 6 分钟的安装tutorial

                          如果在 MYSQL Workbench 中创建新连接不起作用,请确保以 root 身份运行该连接,如下所示:

                          如果您没有找到您的 .ini 文件,请检查 this answer.

                          【讨论】:

                            【解决方案21】:

                            在我的情况下,安装没有将 MySQL\MySQL Server 5.7/bin 文件夹添加到我的 PATH 环境变量中。

                            【讨论】:

                              【解决方案22】:
                              1. 右击你的任务栏->Task Manager

                              2. 点击Services按钮

                              3. 搜索MYSQL80 或您正在使用的任何其他

                              4. 右键MYSQL80 --> Start

                              这对我有用,希望对你也有用

                              【讨论】:

                                猜你喜欢
                                • 2015-05-11
                                • 2016-07-12
                                • 2020-10-24
                                • 2022-01-07
                                • 2019-06-10
                                • 1970-01-01
                                • 2013-04-14
                                • 1970-01-01
                                • 2016-05-24
                                相关资源
                                最近更新 更多