无法连接到数据库服务器(mysql workbench)

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

当我试图点击“查询数据库”在数据库菜单中的 Mysql 工作台。它给我一个错误:

无法连接到数据库服务器

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

拜托:

  1. 检查 mysql 是否在服务器127.0.0.1上运行
  2. 检查 mysql 是否在端口3306上运行(注意: 3306是默认的,但是可以更改)
  3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights define what clients can connect to the server and from which machines)
  4. 如果需要,请确保提供了一个密码,并使用正确的密码从所连接的主机地址连接到127.0.0.1
832816 次浏览

您是否尝试确定这是否是 Workbench 的问题或一般连接问题? 请尝试以下方法:

  1. 打开终端
  2. 类型 mysql -u root -p -h 127.0.0.1 -P 3306
  3. 如果连接成功,在输入密码后会看到 mysql 提示符(键入 quit并在那里输入退出)。

Report back how this worked.

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

在发现这个问题之前,我花了一段时间来解决这个问题,并且重新安装了几次 MySQL。

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

希望这对你有用。

MySQL Workbench (5.2.47 CE)

click 管理服务器实例 (bottom right corner)

联系

in the Connection box select:

本地实例($ServerName)-root@127.0.0.1:3306’< ‘ Standard (TCP/IP) >

click 编辑选定..。

参数,主机名下将 localhost or 127.0.0.1更改为您的 NetBIOS 名称

Test Connection

If this works for you, great. If not change the hostname back to what it was.

I also struggled with this problem for quite a while.

我偶然发现了这个 来自 MySQL 论坛的有趣帖子: http://forums.MySQL.com/read.php?11,11388,11388#msg-11388

我也(显然)遇到了一些不错的问答。

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

所以,在尝试3小时来修复这个... 我放弃了,并决定做一个很好的旧重新安装。

我引用 this post from (again) this MySQL thread came in useful的话:

Gary Williams 写道: 嗨,伙计们,

我也遇到过同样的问题我就是这样解决的 对我来说,从一个不工作的安装开始。

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

  2. 卸载 Mysql。

与大多数卸载一样,旧文件会留在后面 is C:\mysql\ etc then delete the innob, etc, files but leave the 目录本身以及“数据”中的任何现有数据库。 如果您的目录是 C: Program Files etc,请删除所有 mysql 目录。

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

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

  3. 不要使用他们的默认安装路径!某个天才开辟了一条有空间的道路!选择自定义安装并选择合理的路径, 即,C: mysql (注意来自 Adrien: C: mysqldata for... the data)

  4. Do not choose to alter the security settings. Uncheck the relevant box and the install will complete without having to set a root 密码

我想我都记起来了。

Good luck

加里

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

FYI: 我使用以下命令导入 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"

The error occur because the mysql server is not starting on your computer. You should start it manually. Do following steps:

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

  2. 一旦你安装它,你可以双击并运行它。.(你可以在任务栏的右手边看到一个图标,它可能是隐藏的。所以你可以点击箭头显示你的隐藏应用程序运行)。所以点击图标,转到 < em > Mysql

  3. 然后转到 < em > 服务 ,在那里你可以找到 < em > 开始/恢复服务 点击它。

  4. 现在它完成了。打开 mysql 工作台,看看它将工作. 。

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

我的原因/解决方案

在我的例子中,原因是我的服务器被配置为只接受来自 localhost 的连接。我通过以下这篇文章修复了它: 如何启用对 MySQL 数据库服务器的远程访问?。我的 my.cnf文件没有 skip-networking行,所以我只是更改了这一行

bind-address = 127.0.0.1

bind-address = 0.0.0.0

This allows connections from any IP, not just 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 进行连接。

其他原因

有关相当广泛的列表,请参见 拒绝访问错误的原因

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

我发现原因是,在让计算机休眠一段时间并再次唤醒它之后,mysql 服务没有运行。 我的解决方案是: 重新启动名为“ mysql”的服务并重新运行工作台。

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

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

为了更新上面的版本和以后的访问者:

目前,我正在工作的 win764位有不同的工具,包括 Python 2.7.4作为谷歌安卓的先决条件..。

When I upgraded from WB 6.0.8-win32 to upper versions to have 64bit performance I had some problems for example on 6.3.5-winx64 I had a bug in the details view of tables (disordered view) caused me to downgrade to 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 会告知错误的版本,尽管它不是关键的,并且工作得很好。

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

这个问题可能是由于在升级到 ubuntu 16.04期间,当没有设置密码时,默认情况下为 root 用户启用了套接字身份验证。

解决方案是恢复到本机密码身份验证。您可以使用套接字身份验证登录到 MySQL,方法是:

sudo mysql -u root

Once logged in:

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

它将恢复为本机(旧的默认)密码身份验证。

现在,只要 MySQL 需要,就可以使用 密码作为密码。

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

我重新运行安装程序,点击“添加”,然后将 MySQL 服务器添加到列表中。

在我的例子中,我刚刚安装了 MySQL 工作台,但是卸载了 MySQL 工作台并安装了 MySQL 安装程序之后,32位和64位都是一样的。希望能派上用场。

我在 Mac OS上也遇到过类似的问题,我用这种方法解决了它:

从终端运行:

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

然后,我被要求输入密码。由于没有设置密码,我只是按了 进来

I got a message as follows:

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL 连接 id 是181。服务器版本: 8.0.11。

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

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

你应该收到这样的信息:

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

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

Happy coding :)

运行 ALTERUSER 命令。请确保将密码更改为您选择的强密码。

  1. 登录 mysql’

  2. 运行以下命令

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

Now you can access it by using the new password.

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

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

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

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

The name org.freedesktop.secrets was not provided by any .service files

Make sure to install gnome-keyring using the following

sudo apt install gnome-keyring

问题是没有安装 MySQL 服务器。

You can get the installer from 给你.

看看这个 6-minute installation tutorial


如果在 MySQL 工作台中创建的新连接无效,请确保以 root 身份运行该连接,如下所示:

Enter image description here

如果找不到 。 ini文件,请检查 this answer(也写在下面)。

  • 在“开始”菜单搜索框中输入“ services.msc”。
  • 在 Name 列下查找 MySQL 服务,例如 MySQL56。
  • 右键单击 MySQL 服务,选择“属性”菜单。
  • 在“常规”选项卡下查找“可执行路径”,这里是您的。例如,“ C: Program Files (x86) MySQL MySQL Server 5.6 bin mysqld.exe”—— default-file = “ C: ProgramData MySQL MySQL Server 5.6 my.ini”MYSQL56

甚至我在打开 MySQL 工作台时也遇到了类似的错误。 对我有效的解决办法是:

  1. 单击 窗户机器上的 开始按钮
  2. 输入 服务,然后按 Enter
  3. 找到 MySQL并单击它
  4. 在左侧面板的顶部,您将发现一个 开始服务选项
  5. 点击 Start,可以看到一个超链接

我在 Ubuntu 上的 Workbench 也有同样的问题,问题在于许可。

  1. 查找 Workbench 应用程序
  2. Click button Permissions
  3. 给这个应用程序的所有权限

enter image description here

我试过这些步骤

Step 1 : Go to Ubuntu Software Center

第二步: 搜索 < strong > MySql Workbench

第三步: 点击 < strong > 许可

第四步: 启用 < strong > 读取、添加、更改或删除保存的密码

然后,输入 Login Password

然后,我发现我的 < strong > 问题解决了enter image description here

2022年及以后的日子对我有利:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

改变

bind-address            = 127.0.0.1

bind-address            = 0.0.0.0

然后记住重新启动 mysqlsudo systemctl restart mysql

我只是说:

sudo snap connect mysql-workbench-community:ssh-keys


sudo snap connect mysql-workbench-community:password-manager-service

起初我很困惑,但是我能够解决这个问题。

如果您的工作台是通过 包管理器下载的,那么您可以很容易地使用这个命令来解决这个问题,非常简单:

sudo snap connect mysql-workbench-community:password-manager-service :password-manager-service

Go to services.msc and find MySQL.

如「 登录 A」部分是「网络服务」 ,则:

  1. Double click on the MySQL row to open a pop-up
  2. 进入“登录”选项卡
  3. 选择登录为“ Local System account”并选择“ 允许服务与桌面交互

Voilà, now you can start your service on localhost and make sure you enter correct root/user password on your MySQL Workbench, and you are good to go.