【问题标题】:2003 - Can't connect to MySQL server on 'localhost' (10038)2003 - 无法连接到“localhost”上的 MySQL 服务器 (10038)
【发布时间】:2014-11-08 15:25:47
【问题描述】:

我在我的ubuntu虚拟机中安装了mysql服务器,然后我用Navaicat for Mysql连接mysql,但是失败了。 Navicat for Mysql 安装在 Windows 7 上, Navicat 版本为 11.0.10,企业版 我的虚拟机中安装了mysql,系统是Ubuntu 12, 当我连接mysql服务器时,它返回:

我的navicat连接配置:

我尝试了几种方法,包括使用命令:将 . 上的所有权限授予由 'passwd' 标识的 'root'@'%' with grant option 我使用以下命令关闭了 ubuntu 的防火墙: ufw disable 我还关闭了 Windows 7 的防火墙, ubuntu服务器3306端口的状态为:

iptable 规则是这样的:

mysql.user 表是这样的:

但是,navicat 仍然给我错误: 2003 - 无法连接到 'localhost' (10038) 上的 mysql 服务器

有人可以帮助我吗?谢谢!

【问题讨论】:

  • 当您在 Windows 浏览器中输入 192.168.3.164 时,您会得到什么响应?是可访问的IP地址吗?
  • 这是我的ubuntu虚拟机的IP,我的windows 7 IP是192.168.3.133,所以我可以ping通ubuntu虚拟机
  • ubuntu安装在我的windows系统的VritualBox中

标签: mysql ubuntu navicat


【解决方案1】:

我解决了这个问题。在我的 /etc/mysql/my.cnf 中,该命令绑定 locahost 地址,如下所示: bind-address=127.0.0.1,只需在它前面加一个#。现在我可以顺利连接到mysql服务器了。

【讨论】:

    【解决方案2】:

    尝试在虚拟机配置中添加Port Forwarding RuleSettings > Network > Adapter1 > Advanced > "Port Forwarding"

    【讨论】:

    • 在我的虚拟机中,如果我想设置“端口转发”,我必须将Adapter1的模式设置为NAT,并且在我重新启动我的虚拟机后,没有分配给它的IP。
    • 我解决了这个问题,在我的/etc/mysql/my.cnf中,我删除了bind-address=127.0.01,没有连接。
    【解决方案3】:
    1. 在路径/etc/mysql/中找到my.cnf文件

    2. 找到bind-address = 127.0.0.1 并将其注释掉,如下所示:

      #bind-address = 127.0.0.1

    3. 重启 MySQL

    4. 现在我们遇到了不允许连接到这个 MySQL 服务器的问题,因此我们需要继续

    5. 使用以下 MySQL 命令:

        grant all PRIVILEGES on database_name.* to user_name@'%' identified by 'user_password';
    
    1. 检查information_schema数据库中的user_privileges表,确保表中已添加user_name

    2. 使用user_name从本地登录远程MySQL

    【讨论】:

      猜你喜欢
      • 2014-03-10
      • 2018-12-12
      • 2013-01-23
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 2021-02-17
      • 2010-09-27
      相关资源
      最近更新 更多