解决mysql启动报错:The server quit without updating PID file问题

 更新时间:2024年12月11日 11:15:48   作者:小 渣渣~  
这篇文章总结了多种MySQL报错的可能原因和解决方法,从依赖文件缺失到配置文件错误,再到权限问题和SELinux设置等,涵盖了多种常见问题及其解决步骤

mysql启动报错:The server quit without updating PID file问题

如果数据库报这个错,日志里面没有任何报错,配置文件、目录权限都对着,可以使用以下命令查看,是否缺少依赖文件

  • 1、/usr/local/mysql/bin/mysqld -V
  • 2、检查配置文件编码是否发生变化,重新替换一个正常的配置文件重启测试

1.目录权限问题

对mysql的安装目录和数据目录分别进行授权

# chown -R mysql.mysql /usr/local/mysql
# chown -R mysql.mysql /data/mysql
# service mysqld start

或者是配置文件的配置项导致的,回退自己的修改过的配置,这种报错可以在数据库的错误日志中显示出来

2.可能进程里已经存在mysql进程

解决方法:

用命令“ps -ef|grep mysqld”查看是否有mysqld进程

如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!

3.可能是第二次在机器上安装mysql

有残余数据影响了服务的启动

解决方法:

去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件

请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。

解决方法:

请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

5.可能是/usr/local/mysql/data/mysql.pid文件没有写的权限

解决方法 :

给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!

6.selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:

关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试

7.删除mysql库文件/data/mysql/中的“ib_*”文件

注意:** 执行该操作之前一定要对数据库进行备份,因为ibdata1存放的是所有数据文件,如果不小心删了库,那就惨了!!!(传说中的从删库到跑路。。。),然后重启mysql。

8.查看日志有如下错误提示

Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed。

解决办法:

[root@localhost mysql]# rm -rf ib_logfile*

然后启动mysql,问题解决!

9.看日志有这样的字样

“initialize buffer pool,size=128.0M”,“cannot allocate memory for the pool”

大概意思是说无法分配足够的内存供pool使用。

此时想到mysql配置文件中有相关的配置,于是更改如下参数:

innodb_buffer_pool_size = 128
#配置文件中该值默认为128M

将这个值调小,再次启动mysql服务,问题解决!

10.系统上缺少mysql的依赖文件

# yum -y install libaio 
# yum -y install numactl

重新启动mysql服务,问题解决

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL备份时排除指定数据库的方法

    MySQL备份时排除指定数据库的方法

    这篇文章主要介绍了MySQL备份时排除指定数据库的方法的相关资料,需要的朋友可以参考下
    2016-03-03
  • MySQL因大事务导致的Insert慢实例分析

    MySQL因大事务导致的Insert慢实例分析

    这篇文章主要给大家介绍了关于MySQL因大事务导致Insert慢的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Mysql中分布式锁的具体实现

    Mysql中分布式锁的具体实现

    分布式锁开发中经常使用,本文主要介绍了Mysql中分布式锁的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • winxp 安装MYSQL 出现Error 1045 access denied 的解决方法

    winxp 安装MYSQL 出现Error 1045 access denied 的解决方法

    自己遇到了这个问题,也找了很久才解决,就整理一下,希望对大家有帮助!
    2010-07-07
  • MYSQL中解析json格式数据方法示例

    MYSQL中解析json格式数据方法示例

    这篇文章主要给大家介绍了关于MYSQL中解析json格式数据的相关资料,JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写,需要的朋友可以参考下
    2023-08-08
  • Mysql SSH隧道连接使用的基本步骤

    Mysql SSH隧道连接使用的基本步骤

    这篇文章主要给大家介绍了关于Mysql SSH隧道连接使用的基本步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Mysql中select查询语句的执行方式

    Mysql中select查询语句的执行方式

    这篇文章主要介绍了Mysql中select查询语句的执行方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • MySQL跨实例进行数据查询的项目实践

    MySQL跨实例进行数据查询的项目实践

    本文介绍了MySQL的FEDERATED引擎,该引擎允许在不切换数据库实例的情况下进行跨实例数据查询,具有一定的参考价值,感兴趣的可以了解一下
    2025-05-05
  • 解决Idea链接mysql数据库失败Schemas中为空的问题

    解决Idea链接mysql数据库失败Schemas中为空的问题

    文章讲述了在使用Sechemas拦截MySQL数据库时遇到没有数据的情况,并分析了可能是由于数据库版本问题导致的,作者建议根据自己的数据库版本进行选择,如果不确定版本,可以尝试所有版本,以解决问题
    2026-01-01
  • 解决登录MySQL时提示ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

    解决登录MySQL时提示ERROR 2003 (HY000): Can‘t connect to MySQL

    这篇文章主要介绍了解决登录MySQL时提示ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)的相关资料,文中通过图文将解决办法介绍的非常详细,需要的朋友可以参考下
    2026-01-01

最新评论