全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3468|回复: 12
打印 上一主题 下一主题

[疑问] 咨询一个安装crontab导致mysql故障的问题。

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-31 13:10:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
昨晚重启了一台VPS,重启后所有网站都提示Can't connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
报错2002.

重启之前运行的很好,另外一台VPS一样的系统一样的编译方式,一样的版本,重启无任何问题。
观察两台VPS,发现有问题的VPS多了一个tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN。

今天reinstall了系统,开始一点一点装,装一步,检查一下,有必要就重启一下。基本都装好了,也没任何问题,mysql登录正常。重启之后继续装crontab。
yum install vixie-cron

装好启动
/sbin/service crond start
chkconfig --level 35 crond on
将切割nginx日志的脚本创建好加到crontab里,在检查netstat -an,发现奇怪的127.0.0.1:25又出现了,这时候再去连MYSQL,出现了2002错误。

为何会出现这个问题?(发现这个问题,我才想起来我那台怎么重启都没有问题的VPS没装crontab,其他的了两台VPS完全一模一样)


系统是centos6.0,mysql5.1.58,VPS是yard 512M的。
13#
发表于 2011-7-31 16:36:25 | 只看该作者
从你的日志来看  你的mysql不能连接 跟25号端口一点关系都没有
看你1楼的信息里说
------------------------
昨晚重启了一台VPS,重启后所有网站都提示Can't connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)报错2002.
-------------------------这说明你的程序是通过/var/lib/mysql/mysql.sock去连接的mysql服务器

看你8楼说的
-------------------------
sock文件不在/var/lib/mysql/mysql.sock,一直都在/tmp/mysql.sock,my.cnf文件里也写得/tmp/mysql.sock。
------------------------说明你的mysql的sock文件在/tmp/mysql.sock,那么程序去连接/var/lib/mysql/mysql.sock当然连接不上啊!

解决方法2个,任选一种:
1.my.cnf文件里把/tmp/mysql.sock改成/var/lib/mysql/mysql.sock,然后重启mysql服务器,如果你是源码编译安装的mysql,那么可能没有/var/lib/mysql文件夹,先执行
mkdir -p /var/lib/mysql/ && chown mysql.mysql /var/lib/mysql

2.让你的程序去连接/tmp/mysql.sock,不要连接/var/lib/mysql/mysql.sock
12#
 楼主| 发表于 2011-7-31 13:45:02 | 只看该作者
看了一下安装crontab的信息,有条和mysql相关,不知道是不是它影响的。
Dependencies Resolved

====================================================================================================================================
Package                           Arch                      Version                               Repository                  Size
====================================================================================================================================
Installing:
cronie                            i686                      1.4.4-2.el6                           base                        69 k
Installing for dependencies:
cronie-anacron                    i686                      1.4.4-2.el6                           base                        28 k
crontabs                          noarch                    1.10-32.1.el6                         base                        10 k
cyrus-sasl                        i686                      2.1.23-8.el6                          base                        76 k
mysql-libs                        i686                      5.1.52-1.el6_0.1                      updates                    1.2 M
postfix                           i686                      2:2.6.6-2.1.el6_0                     updates                    2.0 M

Transaction Summary
====================================================================================================================================
Install       6 Package(s)
Upgrade       0 Package(s)

Total download size: 3.4 M
Installed size: 14 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): cronie-1.4.4-2.el6.i686.rpm                                                                           |  69 kB     00:00     
(2/6): cronie-anacron-1.4.4-2.el6.i686.rpm                                                                   |  28 kB     00:00     
(3/6): crontabs-1.10-32.1.el6.noarch.rpm                                                                     |  10 kB     00:00     
(4/6): cyrus-sasl-2.1.23-8.el6.i686.rpm                                                                      |  76 kB     00:00     
(5/6): mysql-libs-5.1.52-1.el6_0.1.i686.rpm                                                                  | 1.2 MB     00:00     
(6/6): postfix-2.6.6-2.1.el6_0.i686.rpm                                                                      | 2.0 MB     00:00     

出现mysql-libs-5.1.52-1.el6_0.1.i686.rpm不知道是干什么用的。
11#
 楼主| 发表于 2011-7-31 13:41:03 | 只看该作者
kill -9 893,25端口没了,mysql还是无法连接

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     21303  /tmp/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     7769   /tmp/php-cgi.sock
unix  2      [ ACC ]     STREAM     LISTENING     5928   @/com/ubuntu/upstart
unix  2      [ ]         DGRAM                    6082   @/org/kernel/udev/udevd
unix  5      [ ]         DGRAM                    7062   /dev/log
unix  2      [ ACC ]     STREAM     LISTENING     7980   /tmp/ssh-pNzyIfV957/agent.957
unix  2      [ ]         DGRAM                    12525  
unix  2      [ ]         DGRAM                    8061   
unix  2      [ ]         DGRAM                    7973   
unix  3      [ ]         STREAM     CONNECTED     7850   
unix  3      [ ]         STREAM     CONNECTED     7849   
unix  3      [ ]         STREAM     CONNECTED     7772   
unix  3      [ ]         STREAM     CONNECTED     7771   
unix  3      [ ]         STREAM     CONNECTED     7768   
unix  3      [ ]         STREAM     CONNECTED     7767   
unix  3      [ ]         DGRAM                    6096   
unix  3      [ ]         DGRAM                    6095
10#
 楼主| 发表于 2011-7-31 13:38:13 | 只看该作者
[root@yard8 mysql]# ps -ef|grep 893
root       893     1  0 12:40 ?        00:00:00 /usr/libexec/postfix/master
postfix    906   893  0 12:40 ?        00:00:00 pickup -l -t fifo -u
postfix    907   893  0 12:40 ?        00:00:00 qmgr -l -t fifo -u
root      7633   959  0 13:38 pts/0    00:00:00 grep 893
9#
 楼主| 发表于 2011-7-31 13:35:12 | 只看该作者
yum了lsof,
[root@yard8 mysql]# lsof -i:25
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
master  893 root   12u  IPv4   7620      0t0  TCP localhost.localdomain:smtp (LISTEN)
8#
 楼主| 发表于 2011-7-31 13:30:39 | 只看该作者
lsof命令系统没有,我还不知道怎么装。
[root@yard8 ~]# lsof -i:25
-bash: lsof: command not found
mysql一直启动,现在我还可以手工stop/start/restart,都没有问题。
[root@yard8 mysql]# service mysql status
SUCCESS! MySQL running (812)
[root@yard8 mysql]# service mysql stop  
Shutting down MySQL. SUCCESS!
[root@yard8 mysql]# service mysql start
Starting MySQL. SUCCESS!
[root@yard8 mysql]# service mysql status
SUCCESS! MySQL running (7608)
sock文件不在/var/lib/mysql/mysql.sock,一直都在/tmp/mysql.sock,my.cnf文件里也写得/tmp/mysql.sock。

[root@yard8 mysql]# find / -name mysqld.log 查不到这个文件。



其实真的就是装好了crotab,mysql就不能连了,但mysql进程正常的。我只是察觉到多了个25端口,但是sendmail之类的系统没有,我也没装。
7#
发表于 2011-7-31 13:20:16 | 只看该作者
将切割nginx日志的脚本创建好加到crontab里,在检查netstat -an,发现奇怪的127.0.0.1:25又出现了,这时候再去连MYSQL,出现了2002错误。
-------------
这个时候你看看你的mysql是不是启动了? 看看日志文件里面有没有错误/var/log/mysqld.log
看看你的mysql配置文件/etc/my.cnf  确认sock文件是在/var/lib/mysql/mysql.sock
6#
发表于 2011-7-31 13:17:34 | 只看该作者
要真是25号端口影响了你的mysql 那你
lsof -i:25  看看是哪个程序在使用25号端口 如果不需要就把对应的程序关闭
5#
发表于 2011-7-31 13:16:28 | 只看该作者

centos 6长得咋样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-22 20:27 , Processed in 0.068399 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表