解决ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (111)的问题

 更新时间:2024年09月19日 11:18:31   作者:敲代码敲到头发茂密  
在Windows系统上使用Django连接Ubuntu虚拟机中的MySQL数据库时,遇到无法连接的问题,排查后发现是由于MySQL绑定的IP地址改变导致的,下面就来介绍一下问题解决,感兴趣的可以了解一下

最近在学习Django框架,于是在windows系统上搭建了Django环境,并使用虚拟机ubuntu系统上安装的mysql作为项目的远程数据库,前几天一直用得好好的,今天在虚拟机上连接数据库时,

在这里插入图片描述

出现了如下错误:

在这里插入图片描述

本地数据库没法连接,第一反映是查看下mysql数据库是否启动,使用如下命令查看:

在这里插入图片描述

发现mysql是正常启动状态。仔细思考了下,既然mysql是正常启动的,本地连接不上,是否和mysql绑定ip有关,因为之前将其作为远程数据库使用的,因此对其绑定的ip进行了修改。

切换到对应路径,打开mysql配置文件:

在这里插入图片描述

在这里插入图片描述

可以看到绑定的ip地址为192.168.xx.xxx,这是当时设置mysql远程连接时ubuntu的ip地址

使用ip addr命令查看当前系统的ip,发现系统ip为192.168.17.129,可见在我重启电脑的时候电脑的ip改变过。对于作为远程数据库的电脑来说,如果ip地址会改变显然不是长久之计,关于这个问题,稍后会详细研究,此处只是记录下暂时解决当前问题的方法。

既然绑定ip与系统ip不一致,当然要把绑定ip改一下,将mysql配置文件中的bind-address改为系统ip地址:192.168.17.129,输入:wq保存,发现该文件为只读文件,先退出文件修改其权限然后再对其进行修改。查看当前文件的权限,普通用户只有可读权限

在这里插入图片描述

采用以下命令修改当前文件权限

在这里插入图片描述

再次修改mysql配置文件,就可以成功修改保存了。
再次连接mysql数据库,输入密码后发现是可以连接的,但是上面有一句警告:mysql: [Warning] World-writable config file ‘/etc/mysql/mysql.conf.d/mysqld.cnf’ is ignored这是由于我们刚刚改过mysql配置文件导致的。

在这里插入图片描述

为了防止mysql配置文件被随意改动,可以将其权限再改为只读。

在这里插入图片描述

查看其权限发现普通用户只有可读权限。

再次打开mysql,就没有刚才那句警告啦。

至此,问题已经解决,可以使用mysql进行后续操作啦

到此这篇关于解决ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (111)的问题的文章就介绍到这了,更多相关ERROR 2003 (HY000)内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中ADD COLUMN添加多个字段的写法实例

    MySQL中ADD COLUMN添加多个字段的写法实例

    这篇文章主要给大家介绍了关于MySQL中ADD COLUMN添加多个字段的写法实例,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • Mysql中varchar类型一些需要注意的地方

    Mysql中varchar类型一些需要注意的地方

    这篇文章主要介绍了Mysql中varchar类型一些需要注意的地方,帮助大家更好的理解和学习MySQL,感兴趣的朋友可以了解下
    2021-01-01
  • mac os10.12安装mysql5.7.18教程

    mac os10.12安装mysql5.7.18教程

    这篇文章主要为大家详细介绍了mac os10.12下mysql5.7.18的安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 一个mysql死锁场景实例分析

    一个mysql死锁场景实例分析

    这篇文章主要给大家实例分析了一个mysql死锁场景的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Mysql快速列出来所有列信息实现思路

    Mysql快速列出来所有列信息实现思路

    本文介绍了如何使用MySQL查询系统表和内置函数,将指定表的所有字段信息(包括字段名和注释)以指定格式展示出来,本文给大家分享实现思路,感兴趣的朋友一起看看吧
    2025-01-01
  • MYSQL子查询和嵌套查询优化实例解析

    MYSQL子查询和嵌套查询优化实例解析

    本文通过实例向大家介绍了MYSQL子查询和嵌套查询优化的相关内容,附代码示例,具有一定参考价值。希望对大家使用MySQL有所帮助。
    2017-10-10
  • MYSQL5.7.24安装没有data目录和my-default.ini及服务无法启动的完美解决办法

    MYSQL5.7.24安装没有data目录和my-default.ini及服务无法启动的完美解决办法

    这篇文章主要介绍了MYSQL-5.7.24安装,没有data目录和my-default.ini及服务无法启动的解决办法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Centos6.9安装Mysql5.7.18步骤记录

    Centos6.9安装Mysql5.7.18步骤记录

    本文给大家详细介绍了Centos6.9安装Mysql5.7.18的步骤,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-06-06
  • mysql时间字段默认设置为当前时间实例代码

    mysql时间字段默认设置为当前时间实例代码

    很多人可能会把日期类型的字段的类型设置为date或者datetime,
    但是这两个类型是无法设置默认值为当前日期的,下面这篇文章主要给大家介绍了关于mysql时间字段默认设置为当前时间的相关资料,需要的朋友可以参考下
    2022-08-08
  • MySQL8新特性:降序索引详解

    MySQL8新特性:降序索引详解

    在数据库中我们一般都会对一些字段进行索引操作,这样可以提升数据的查询速度,下面这篇文章主要给大家介绍了关于MySQL8新特性:降序索引的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-07-07

最新评论