错误!服务器退出但不更新 PID 文件
Posted
技术标签:
【中文标题】错误!服务器退出但不更新 PID 文件【英文标题】:ERROR! The server quit without updating PID file 【发布时间】:2017-08-28 14:55:38 【问题描述】:我在另一篇文章中看到过这个问题,但我有一个不同之处:
我正在努力按照https://www.telepieza.com/wordpress/2008/03/13/replicar-bases-de-datos-mysql-en-servidores-locales-o-remotos/ 中的说明进行操作
但我在我的服务器中原来的行:#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).
感谢您的帮助
----------------- 为评论添加:
2017 Log
【问题讨论】:
错误只是告诉你它无法启动mysqld。您应该阅读 MySQL 错误日志以获取有关 为什么 无法启动的更多具体信息。您的 MySQL 错误日志可能位于/var/lib/mysqld.err
或 /var/lib/<hostname>.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 中的数据库启动 mysqld 守护进程 141023 15:39:10 [注意] 插件“FEDERATED”已禁用。 141023 15:39:10 InnoDB:InnoDB 内存堆已禁用 141023 15:39:10 InnoDB:互斥锁和 rw_locks 使用 GCC 原子内置函数
这些时间戳来自 2014 年 10 月 23 日。你的服务器的系统时钟是这样设置的吗?您在查看正确的错误日志文件吗?
这是我发现的唯一 .err... 我在上面的帖子中添加了 ftp 文件夹的图像描述。请注意,.pid 有 28/08/2017 更新
嗯,我看到 .pid 文件有一个当前日期为 2017-08-28 的时间戳,所以这是一个旧的错误日志文件,与今天的故障排除无关。您的服务器上必须有另一个 .err 日志文件。例如,在 CentOS 上,它有时位于 /var/log/mysqld.log 或 /var/log/mysql/mysql.log 中。该位置可能在 /etc/my.cnf 中自定义定义。
【参考方案1】:
在您的错误日志中,我看到它无法找到它期望找到的二进制日志文件的错误。因此,您的部分或全部二进制日志文件已过期或被删除或其他什么。但是mysql-bin.index中还是有一些mysql-bin.000019的引用。
我查看了您之前发布的屏幕截图,发现您的 mysql-bin.index 的日期为 2017-05-18。所以无论如何,它已经过时了三个月。我猜有人为了节省空间而删除了旧的二进制日志,但没想到要删除二进制日志索引文件。
如果你想用干净的二进制日志文件重新开始,只需删除所有 mysql-bin.* 文件(包括 mysql-bin.index),然后启动 mysqld。启动会自动创建新的二进制日志,以mysql-bin.000001开头。
请注意,如果您有任何依赖此实例作为其主实例的复制从属服务器,则您必须使用新的备份和新的 binlog 文件名重新初始化它们。
【讨论】:
以上是关于错误!服务器退出但不更新 PID 文件的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 数据库未启动 - 错误!服务器退出而不更新 PID 文件 - XAMPP OS X
OS X El Capitan 上的 MySQL 5.7.9:错误服务器退出而不更新 PID 文件
启动 pid-file 的 MySQL.Manager 退出而不更新 fi 错误