Mysql 错误!服务器在不更新PID文件的情况下退出

Mysql 错误!服务器在不更新PID文件的情况下退出,mysql,centos,replicate,Mysql,Centos,Replicate,我在另一篇文章中看到过这个问题,但我有一个不同之处: 我很高兴能按照你的指示去做 但是我的服务器中最初的行:#log bin=mysql bin被注释(#) 如果我让行中没有#并重新启动MySql,则服务不会启动并显示错误: ERROR! MySQL server PID file could not be found! Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/xxxxxx

我在另一篇文章中看到过这个问题,但我有一个不同之处:

我很高兴能按照你的指示去做

但是我的服务器中最初的行:
#log bin=mysql bin
被注释(#)

如果我让行中没有#并重新启动MySql,则服务不会启动并显示错误:

ERROR! MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/xxxxxx.pid).
谢谢你的帮助

----------------- 添加了以下内容:


在您的错误日志中,我看到一个错误,它无法找到它希望找到的二进制日志文件。所以你的一些或所有二进制日志文件都过期了或被删除了。但是在mysql-bin.index中仍然有一些对mysql-bin.000019的引用

我查看了您之前发布的屏幕截图,我看到您的mysql-bin.index日期为2017-05-18。所以它已经过时三个月了。我猜有人删除了旧的二进制日志以节省空间,但没有想到要删除binlog索引文件

如果您想重新开始使用二进制日志文件,只需删除所有mysql bin.*文件(包括mysql bin.index),然后启动mysqld。启动将自动创建新的二进制日志,从mysql-bin.000001开始


请注意,如果您有任何依赖于此实例作为其主实例的复制从机,则必须使用新备份和新的binlog文件名重新初始化它们。

在错误日志中,我看到一个错误,它无法找到它期望找到的二进制日志文件。所以你的一些或所有二进制日志文件都过期了或被删除了。但是在mysql-bin.index中仍然有一些对mysql-bin.000019的引用

我查看了您之前发布的屏幕截图,我看到您的mysql-bin.index日期为2017-05-18。所以它已经过时三个月了。我猜有人删除了旧的二进制日志以节省空间,但没有想到要删除binlog索引文件

如果您想重新开始使用二进制日志文件,只需删除所有mysql bin.*文件(包括mysql bin.index),然后启动mysqld。启动将自动创建新的二进制日志,从mysql-bin.000001开始


请注意,如果您有任何依赖于此实例作为其主实例的复制从机,则必须使用新的备份和新的binlog文件名重新初始化它们。

错误只是告诉您它无法启动mysqld。您应该阅读MySQL错误日志,以获得有关MySQL启动失败原因的更具体信息。您的MySQL错误日志可能位于
/var/lib/mysqld.err
/var/lib/.err
,但这可能有所不同。这是错误日志141023 12:39:48[注意]/usr/sbin/mysqld:Shutdown complete 141023 12:39:48 mysqld_safe mysqld from pid file/var/lib/mysql/sd-941934-l.dattaweb.com.pid结束141023 15:39:10 mysqld_safe使用/var/lib/mysql 141023 15:39:10中的数据库启动mysqld守护程序[注意]插件“FEDERATED”已禁用。141023 15:39:10 InnoDB:InnoDB内存堆被禁用141023 15:39:10 InnoDB:互斥锁和rw_锁使用GCC原子内置,时间戳为2014-10-23。这就是服务器的系统时钟设置的值吗?你看的是正确的错误日志文件吗?这是我找到的唯一一个.err。。。我在上面的帖子中添加了ftp文件夹的图像描述。请注意,.pid具有2017年8月28日的更新。我看到,.pid文件具有当前日期2017年8月28日的时间戳,因此这是一个旧的错误日志文件,与今天的故障排除无关。您必须在服务器上的其他位置有另一个.err日志文件。例如,在CentOS上,它有时位于/var/log/mysqld.log或/var/log/mysql/mysql.log中。该位置可能是在/etc/my.cnf中自定义定义的。错误只是告诉您它无法启动mysqld。您应该阅读MySQL错误日志,以获得有关MySQL启动失败原因的更具体信息。您的MySQL错误日志可能位于
/var/lib/mysqld.err
/var/lib/.err
,但这可能有所不同。这是错误日志141023 12:39:48[注意]/usr/sbin/mysqld:Shutdown complete 141023 12:39:48 mysqld_safe mysqld from pid file/var/lib/mysql/sd-941934-l.dattaweb.com.pid结束141023 15:39:10 mysqld_safe使用/var/lib/mysql 141023 15:39:10中的数据库启动mysqld守护程序[注意]插件“FEDERATED”已禁用。141023 15:39:10 InnoDB:InnoDB内存堆被禁用141023 15:39:10 InnoDB:互斥锁和rw_锁使用GCC原子内置,时间戳为2014-10-23。这就是服务器的系统时钟设置的值吗?你看的是正确的错误日志文件吗?这是我找到的唯一一个.err。。。我在上面的帖子中添加了ftp文件夹的图像描述。请注意,.pid具有2017年8月28日的更新。我看到,.pid文件具有当前日期2017年8月28日的时间戳,因此这是一个旧的错误日志文件,与今天的故障排除无关。您必须在服务器上的其他位置有另一个.err日志文件。例如,在CentOS上,它有时位于/var/log/mysqld.log或/var/log/mysql/mysql.log中。该位置可以在/etc/my.cnf中自定义定义。