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

浙公网安备 33010602011771号