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

导读:本篇文章讲解 解决ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (111)的问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

最近在学习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进行后续操作啦

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74071.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!