localhost 上的 mysql 无法连接

报错代码:
ERROR 2003 (HY000):Can’t connect to MySQL server on 'localhost' (10061)

报错原因:

① 很明显,localhost本机是存在的;但是它却没有提供mysql的服务供给使用

② 检查磁盘空间是否还有剩余可用空间,尽量保持有足够的磁盘空间可用

③ 查看mysql的负载能力,可能存在mysql的负载过高我们连接不上;一般是看processlist来看下具体线程和连接数运行情况:

       1、show processlist只能列出当前100条,我们可以看到所有用户的连接情况

       mysql> show processlist;
        +----+-----------------+-----------+------+---------+-------+------------------------+------------------+
        | Id | User            | Host      | db   | Command | Time  | State                  | Info             |
        +----+-----------------+-----------+------+---------+-------+------------------------+------------------+
        |  4 | event_scheduler | localhost | NULL | Daemon  | 30404 | Waiting on empty queue | NULL             |
        | 14 | root            | localhost | NULL | Query   |     0 | starting               | show processlist |
        +----+-----------------+-----------+------+---------+-------+------------------------+------------------+
        2 rows in set (0.00 sec)

       2、查看全部的链接情况

       mysql> show full processlist;
        +----+-----------------+-----------+------+---------+-------+------------------------+-----------------------+
        | Id | User            | Host      | db   | Command | Time  | State                  | Info                  |
        +----+-----------------+-----------+------+---------+-------+------------------------+-----------------------+
        |  4 | event_scheduler | localhost | NULL | Daemon  | 30527 | Waiting on empty queue | NULL                  |
        | 14 | root            | localhost | NULL | Query   |     0 | starting               | show full processlist |
        +----+-----------------+-----------+------+---------+-------+------------------------+-----------------------+
        2 rows in set (0.00 sec)

# 注意,针对以上查看结果进行详细字段说明:

① Id 当用户登录mysql时,系统会为用户分配一个"connection_id",可以使用函数connection_id()来查看:
    mysql> select connection_id();
    +-----------------+
    | connection_id() |
    +-----------------+
    |              14 |  -- 系统分配的id为14
    +-----------------+
    1 row in set (0.01 sec)

② User 展示当前链接用户

③ Host 连接mysql的ip地址;可查到来源端口,同时可以跟踪出现问题语句的用户

④ db   连接数据库的名称

⑤ Command 当前链接执行的命令;query(查询)、sleep(休眠)、connect(连接)、daemon(守护进程)

⑥ Time  当前连接持续时长,单位时间是秒

⑦ State 展示当前连接的sql语句状态

⑧ Info 展示sql语句,对用来判断sql语句是否有问题很重要
问题解决方案:
① mysql未启动,则启动即可:

    mac端:brew services start mysql   mysql.server start
    centos端: systemctl start mysqld.service    service mysql start
    其他:找到执行文件根目录执行 启动也ok
posted @ 2025-08-13 12:24  寻码疹  阅读(21)  评论(0)    收藏  举报