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

use*_*950 68 mysql mysql-workbench

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

当我尝试在Mysql workbench中的数据库菜单下单击"查询数据库"时.它给了我一个错误:

Cannot Connect to Database Server

Your connection attempt failed for user 'root' from your host to server at 
127.0.0.1:3306:Can't connect to mysql server on '127.0.0.1'(10061)

Please:

 1. Check that mysql is running on server 127.0.0.1
 2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can 
    be changed)
 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. Make sure you are both providing a password if needed and using the correct 
    password for 127.0.0.1 connecting from the host address you're connecting from
Run Code Online (Sandbox Code Playgroud)

Aya*_*yan 69

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

解决方案是恢复到本机密码身份验证.您可以通过以下方式使用套接字身份验证登录MySQL来执行此操作:

sudo mysql -u root
Run Code Online (Sandbox Code Playgroud)

登录后:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Run Code Online (Sandbox Code Playgroud)

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

现在,只要MySQL需要,就使用密码作为密码.

  • 它对我有用,我很惊讶,我已经在安装 mysql 时配置了严格密码,并且在给定的更改查询中使用了相同的严格密码。我很好奇为什么它在第一次尝试时没有成功 (3认同)
  • 如果您使用“snap”安装 mysql workbench,请尝试以下操作:“sudo snap connect mysql-workbench-community:password-manager-service :password-manager-service”以允许沙盒包访问密码服务。https://askubuntu.com/a/1242777/1621549 (3认同)

小智 43

尝试从开始菜单搜索框打开services.msc并尝试手动启动MySQL服务.

  • 开始菜单搜索框在哪里? (4认同)

AJ *_*son 29

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

我的原因/解决方案

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

bind-address = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

bind-address = 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

这允许来自任何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
Run Code Online (Sandbox Code Playgroud)

1.2.3.4您尝试连接的客户端的IP 在哪里.如果您确实遇到问题,可以使用'%'而不是'1.2.3.4'允许用户从任何IP连接.

其他原因

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


Ser*_*gio 17

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

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

报告这是如何工作的.

  • 当我使用此命令连接到 mysql 时 $> mysql -u root -p -h 127.0.0.1 -P 3306 Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: 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' (using password: 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' (using password: YES) [root@localhost ~] # (2认同)

小智 12

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

从终端运行:

mysql -u root -p -h 127.0.0.1 -P 3306
Run Code Online (Sandbox Code Playgroud)

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

我收到如下消息:

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

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

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Run Code Online (Sandbox Code Playgroud)

你应该收到这样的消息:

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

现在,您的密码是" 密码 ",您的用户名是" root ".

快乐编码:)


Ste*_*ert 7

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

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


小智 6

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

  1. sudo mysql #登录mysql`

  2. 运行以下命令

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    
    Run Code Online (Sandbox Code Playgroud)

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

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


小智 6

我在 Ubuntu 上的 Workbench 上遇到了同样的问题,问题出在权限上。

  1. 查找工作台应用程序
  2. 单击按钮权限
  3. 授予此应用程序所有权限

在此输入图像描述


小智 5

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

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

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

  3. 然后去服务,在那里你可以找到开始/恢复服务点击它..

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


小智 5

即使我在打开MySQL Workbench时也遇到了类似的错误。对我有用的解决方案是:

  1. 单击Windows计算机上的“开始”按钮
  2. 类型服务和新闻Enter
  3. 找到MySQL并点击它
  4. 在左侧面板的顶部,您将找到一个选项“启动服务”
  5. 单击以超链接形式可见的“开始”