解决MySQL启动报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

针对MySQL启动时报错“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)”的问题,我们可以根据下面的步骤进行排查和解决。

原因分析

报错信息中指出了“Can't connect to MySQL server on 'localhost'”,大致意思是无法连接到本地的MySQL服务,这说明在连接MySQL服务时出现了问题。可能有以下几个原因:

  1. MySQL服务未启动或被关闭;
  2. MySQL服务端口被占用;
  3. MySQL服务配置错误。

解决步骤

步骤一:检查MySQL服务是否启动

首先检查MySQL服务是否已经成功启动。可以使用以下命令查看MySQL服务运行状态:

sudo systemctl status mysql.service
# 或者
sudo service mysql status

如果是服务未启动,那么可以使用以下命令启动MySQL服务:

sudo systemctl start mysql.service
# 或者
sudo service mysql start

步骤二:检查MySQL服务端口是否被占用

若MySQL服务已启动,还是无法连接到MySQL服务,则需要检查一下MySQL服务端口是否被占用。MySQL服务默认使用3306端口,我们可以通过以下命令检查3306端口是否被占用:

sudo netstat -anp | grep "3306"

如果3306端口已经被其他程序占用了,则需要关闭占用该端口的程序或者修改MySQL服务的端口号。

步骤三:检查MySQL服务配置是否正确

当MySQL服务已经启动并且3306端口未被占用时,还是无法连接到MySQL服务,则有可能是由于配置文件中的错误导致MySQL服务无法正常启动。在MySQL服务配置文件中,通常包含了MySQL服务端口号、日志文件路径、数据文件路径等关键信息,如果这些配置错误则会导致MySQL服务无法正常启动。

可以使用以下命令找到MySQL配置文件位置并打开:

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

在打开的文件中,可以根据实际情况检查以下几个配置选项是否正确:

  • bind-address : MySQL服务监听的地址。通常为 127.0.0.1 或者 localhost
  • port : MySQL服务器监听的端口号。通常为 3306
  • datadir : MySQL数据存放的目录。
  • log_error :如果MySQL出现错误,将错误输出的文件路径。

修改配置文件后,保存退出,并重启MySQL服务:

sudo service mysql restart

这样,问题就有可能得到了解决。

示例说明

示例1

如果MySQL服务未启动,那么我们可以使用以下命令启动MySQL服务:

sudo systemctl start mysql.service

启动服务后,再次检查MySQL服务状态是否正常:

sudo systemctl status mysql.service

示例2

如果发现MySQL服务端口被占用了,可以通过以下方法来查找占用MySQL服务端口的程序:

sudo netstat -anp | grep "3306"

找到占用端口的程序,并关闭它。或者,修改MySQL服务的端口号,例如将默认端口3306修改为3307:

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

修改 port 配置项的值:

port = 3307

修改后保存文件,并重启MySQL服务:

sudo service mysql restart

这样,MySQL服务就能正常启动了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决MySQL启动报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061) - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • MySQL 出现 The table is full 的解决方法【转】

    时间 2014-08-21 12:18:56  MySQL中文网 原文  http://imysql.com/2014/08/21/mysql-faq-howto-deal-with-table-full.shtml 主题 MySQL 当我们要写入新数据而发生“The table is full”告警错误时,先不要着急,按照下面的思路来逐步分析即可: 1、查…

    MySQL 2023年4月13日
    00
  • MySQL错误提示:sql_mode=only_full_group_by完美解决方案

    MySQL错误提示:sql_mode=only_full_group_by 是在 MySQL 5.7 版本中引入的一个新特性。当开启该模式时,如果使用了GROUP BY语句但是SELECT语句中的列名没有在GROUP BY中出现,或者在SELECT语句中使用了聚合函数,但是列名并不在GROUP BY语句中,则会抛出“1055 error – ‘XXXX’ i…

    MySQL 2023年5月18日
    00
  • IDEA创建SpringBoot项目整合mybatis时mysql-connector-java报错异常的详细分析

    完整攻略:IDEA创建SpringBoot项目整合mybatis时mysql-connector-java报错异常的详细分析 问题分析在IDEA中创建SpringBoot项目并整合Mybatis,如果使用MySQL作为数据库,在运行项目时可能会出现mysql-connector-java报错的异常。具体错误信息如下: java.lang.ClassNotFo…

    MySQL 2023年5月18日
    00
  • MySQL在grant时报错ERROR 1064 (42000)的原因及解决方法

    当我们在使用MySQL的时候,有可能会在授权(grant)的时候遇到“ERROR 1064 (42000)”的报错信息。下面是该错误的原因及解决方法。 错误原因 “ERROR 1064 (42000)”错误通常是由于以下原因导致的: SQL语句的语法有误 某些保留关键词被错误使用 数据表名、列名、用户名或密码使用了非法字符 等等 在授权(grant)时,我们…

    MySQL 2023年5月18日
    00
  • MySQL 出现错误1418 的原因分析及解决方法

    MySQL 出现错误1418 的原因分析及解决方法 错误描述 在使用 MySQL 进行数据操作时,有可能会出现以下错误提示: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary …

    MySQL 2023年5月18日
    00
  • MySQL修改字符集步骤详解

    MySQL的字符集决定了数据库和表中能够存储哪些字符,包括数据类型、排序规则、大小写敏感性等。修改MySQL字符集的步骤如下: 确定当前数据库和表的字符集 使用以下SQL语句确定当前数据库和表的字符集: SHOW CREATE DATABASE database_name; SHOW CREATE TABLE table_name; 修改数据库和表的字符集 …

    MySQL 2023年3月10日
    00
  • MySQL删除表时I/O错误的原因分析与解决

    MySQL删除表时I/O错误的原因分析与解决的完整攻略如下: 1. 问题描述及原因分析 在使用 MySQL 删除表时,可能会遇到 I/O 错误的问题。这种错误通常是由于数据库文件损坏或文件系统错误引起的,具体原因可能包括: 存储设备硬件故障 存储设备读写速度过慢,导致数据库文件读写超时 文件系统损坏 MySQL 配置不当,如 innodb_io_capaci…

    MySQL 2023年5月18日
    00
  • 2018.09.17MySql报错1062

    一、 在执行sql语句时出现了一个错误:1062:Duplicate entry ‘0’ for key ‘PRIMARY’ 二、报错原因:Navicat中,本来没有主键id,后来要加入主键id,但是原来的表中已经有了一个主键,创建完id后,保存不了,报这个错:Duplicate entry ‘0’ for key ‘PRIMARY’; 三、解决方法:在Na…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部