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

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

[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

近期评论