MySQL 报错 Can’t connect to /var/lib/mysql/mysql.sock (2) 排查全过程

作者:

,

1、打开网站后台网址,报错:Unable to connect to database: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

2、修复 MySQL 连接报错问题,查看 ISC 框架(Interspire Shopping Cart,老牌电商系统)的配置文件,确认连接的是本机的数据库。如图1

修复 MySQL 连接报错问题,查看 ISC 框架(Interspire Shopping Cart,老牌电商系统)的配置文件,确认连接的是本机的数据库。

3、然后检查 MySQL 状态(确认是否启动成功),发现已经停止。启动 MySQL 失败



[root@li1269-60 jfc]# service mysqld status                                     |
mysqld is stopped
[root@li1269-60 jfc]# service mysqld start

Timeout error occurred trying to start MySQL Daemon.
Starting mysqld:  [FAILED]
[root@li1269-60 jfc]#



4、查看 MySQL 启动失败的关键日志(最核心的排查命令),从你给出的 MySQL 日志片段来看,核心错误是 Table ‘./jammerfromchina/cart_prodd’ 损坏—— 这是导致 MySQL 启动超时 / 失败的根本原因(数据表损坏会让 InnoDB/MyISAM 引擎加载失败,MySQL 启动流程卡住)。



[root@li1269-60 jfc]# grep -i "error|fail|timeout" /var/log/mysqld.log
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromchina/cart_prodd
130419  7:01:24 [ERROR] /usr/libexec/mysqld: Table './jammerfromc^C[ 3502.924666



5、确认磁盘资源是否充足是排查当前问题的关键前置步骤(磁盘满是导致 MySQL 启动失败、数据表损坏的核心诱因之一)。最终确认:磁盘 100% 满(根分区 /dev/sda 78G 已用尽)。如图2

确认磁盘资源是否充足是排查当前问题的关键前置步骤(磁盘满是导致 MySQL 启动失败、数据表损坏的核心诱因之一)。最终确认:磁盘 100% 满(根分区 /dev/sda 78G 已用尽)


[root@li1269-60 jfc]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda               78G   78G     0 100% /
tmpfs                 1.9G  116K  1.9G   1% /dev/shm



6、发现 Linode 实例可以调整大小了。发现当前 Linode 4 GB,存储是 80GB。可以调整为 Linode 8 GB ,存储是 160 GB。参考:Linode 实例升级配置失败的排查分析,升级配置为 160GB 配置

7、再次查看磁盘占用情况,确认符合预期



[root@li1269-60 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda              148G   78G   68G  54% /
tmpfs                 3.9G  116K  3.9G   1% /dev/shm
[root@li1269-60 ~]#



8、现在打开后台,已经不再报错。可以正常登录。如图3

现在打开后台,已经不再报错。可以正常登录

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理