mysql启动失败,报没有pid错误

安装完Mysql后,启动mysqld失败,花了很长时间才找到原因,现在根据网友提供的解决方法汇总一下,方便遇到时可以参考排查

现象:service mysql start 时提示如下错误:

[root@mysqldb data]# service mysql start
Starting MySQL…The server quit without updating PID file ([失败]/data/3306/mysql.pid).

原因分析:

​ mysql.pid文件是在重动mysql的时候会创建的,如果创建失败就会提示这个错误,发现导致此错误有很多种原因,像权限、端口被占用、参数文件配置错误等等,现具体的如下:

解决方式:

在mysql的datadir数据目录下没有pid文件或者未被授权

  1. 一定要给譬如/data/mysql授权
chown -R mysql:mysql /data/mysql
  1. 如果授权了不好使,你可以自己在/data/mysql下建立一个以主机名命名的pid,如我的主机名是centos-6.3
cd /data/mysql && touch centos-6.3.pid

# 在里面随意写一个进程中没有的pid号
  1. 如果还是不行,你就需要看看配置文件/etc/my.cnf里面的配置了,将port、datadir、basedir、 socket前的#去掉

  2. 另外的处理方法还有可能是下面的原因导致

​ a. 可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

​ 解决方法:

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

​ b. mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。

​ 解决方法:

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

​ c. skip-federated字段问题

​ 解决方法:

​ 检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

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

​ 解决方法:

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

​ e. 由于是以系统命令方式启动的,检查mysql.server配置文件内的配置项是否正确,若 无法判断参数是否正确,可以以Mysqld_safe来启动

​ 参考命令如下:

[root@mysqldb 3306]# ll
total 8
drwxr-xr-x 5 mysql mysql 4096 Mar 15 19:16 data
-rw-r–r-- 1 mysql mysql 3676 Mar 15 18:44 my.cnf [root@mysqldb 3306]# vi mysql.start --创建 /mysql/app/mysql/bin/mysqld_safe --defaults-file=/mysql/data/3306/my.cnf --user=mysqld [root@mysqldb 3306]# chmod -R 777 mysql.start --授权 [root@mysqldb 3306]# ll
total 12
drwxr-xr-x 5 mysql mysql 4096 Mar 15 19:16 data
-rw-r–r-- 1 mysql mysql 3676 Mar 15 18:44 my.cnf
-rwxrwxrwx 1 root root 89 Mar 15 22:36 mysql.start
[root@mysqldb 3306]# ./mysql.start
[root@mysqldb 3306]# 2018-03-15T14:36:52.021705Z mysqld_safe Logging to ‘/mysql/log/3306/mysqldb-error.err’.
2018-03-15T14:36:52.043126Z mysqld_safe Starting mysqld daemon with databases from /mysql/data/3306/data
[root@mysqldb 3306]# ps -ef|grep mysqlroot
3627 1 0 22:36 pts/0 00:00:00 /bin/sh /mysql/app/mysql/bin/mysqld_safe --defaults-file=/mysql/data/3306/my.cnf --user=mysqldmysql
4764 3627 48 22:36 pts/0 00:00:11 /mysql/app/mysql/bin/mysqld --defaults-file=/mysql/data/3306/my.cnf --basedir=/mysql/app/mysql --datadir
=/mysql/data/3306/data --plugin-dir=/mysql/app/mysql/lib/plugin --user=mysqld --log-error=/mysql/log/3306/mysqldb-error.err --open-files-limit=65536
–pid-file=/mysql/data/3306/mysql.pid --socket=/mysql/data/3306/mysql.sock --port=3306
root 4796 2174 0 22:37 pts/0 00:00:00 grep mysql

​ f. Mysql关闭时命令是否正确,第6点与本文说明不一致,但是这个非正确关闭也会导致这种现象

mysql启动失败,报没有pid错误的更多相关文章

  1. MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法

    MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法 错误2,系统找不到文件. 开始...运行... regedit  注册表项: HKEY_LOCAL_ ...

  2. 解决mysql启动失败报1067错误

    最近做项目使用 mysql 数据库 ,因为卸载了鲁大师造成了数据库文件缺失.重装mysql数据库后启动出现了1067错误,详情如下 在网上查了错误原因,将my.ini文件下的默认搜索引擎换成了 myi ...

  3. Mysql 启动失败 报错 1067

    Mysql装好后,重启电脑第二次发现服务无法启动.提示如下: ------------------------ MySQL 服务无法启动. 系统出错. 发生系统错误 1067. 进程意外终止. --- ...

  4. XAMPP中Apache和Mysql启动失败问题总结

    一.Apache启动失败 xampp启动时显示的错误为: 9:52:41  [Apache]  Attempting to start Apache app... 9:52:41  [Apache]  ...

  5. Mysql启动失败解决方案 - 个人经验可能不适合所有场景

    以前一直用的Mysql5.5,安装程序是一个exe程序,安装完了相应的服务也给我注册好了,然后直接启动连接即可. 最近升级到了8.0.15,发现和以前不一样了. 8.0.15下载地址 安装解压之后目录 ...

  6. Linux下mysql启动失败

    原因:强制重启服务器之后,发现mysql启动 失败 解决方法:强制清空 报错路径下的tmp文件,清空之后在tmp下面新建一个文件夹,文件夹的名字在你清空tmp之后启动mysql系统会给你提示 欧克,完 ...

  7. mysql 启动失败,数据恢复

    mysql 启动失败,数据恢复 2017年02月13日 16:46:36 阅读数:621 Forcing InnoDB Recovery提供了6个等级的修复模式,需要注意的是值大于3的时候,会对数据文 ...

  8. MySQL创建函数报“ERROR 1418 ”错误,不能创建函数

    MySQL创建函数报ERROR 1418错误,不能创建函数,根据官方提示是说,不能创建函数可能是一个安全设置方面的配置或功能未开启原因,下面我们一起来看.   错误 ERROR 1418 (HY000 ...

  9. Mysql启动失败 MYSQL:The server quit without updating PID file

    MySQL5.6启动时出错 提示MYSQL:The server quit without updating PID file 首先执行 /bin/mysqld_safe --user=mysql & ...

  10. Mysql 启动失败常见错误

    各位可以按照顺序逐条拍错. mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/my ...

随机推荐

  1. 混合编程python与C++

    上个版本: 只是用到ctypes进行传输, 这次将python服务端更改为C++服务端,方便后续维护. 本文实现功能: python传输图片给C++, C++接受图片后对图片进行处理,并将结果返回给p ...

  2. FPGA加速技术在游戏和娱乐系统中的应用:实现高效的游戏和娱乐系统

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 <35. FPGA加速技术在游戏和娱乐系统中的应用:实现高效的游戏和娱乐系统>这篇文章是一篇针对 ...

  3. Java判断101-200之间有多少个素数,并输出所有素数。

    代码如下: public static void main(String[] args) { //记录个数 int count = 0; //循环遍历 for(int i = 101;i <= ...

  4. 高并发场景下,6种解决SimpleDateFormat类的线程安全问题方法

    摘要:解决SimpleDateFormat类在高并发场景下的线程安全问题可以有多种方式,这里,就列举几个常用的方式供参考. 本文分享自华为云社区<[高并发]更正SimpleDateFormat类 ...

  5. Spring Boot 日志文件

    Spring Boot 日志文件 日志文件是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志.具有处理历史数据.诊断问题的追踪以及理解系统的活动等重要作用. 事件日志记录系统的执行中 ...

  6. CANopen转ProfiNet网关在大跨径门机起重设备同步纠偏控制应用案例

    大型门机起重设备纠偏控制系统采用CanOpen通讯协议,而PLC使用的是ProfiNet协议,看似不兼容的两种协议如何实现互通?今天我们来看一下这个案例. 通过捷米特JM-COP-PN设置纠偏系统的参 ...

  7. 活动回顾:Flutter实时音视频应用场景实践

    11月7日,即构和上海GDG技术社区联合举办了实时音视频技术云上技术分享专场,来自即构科技和Bilibili的资深技术专家进行了深度分享.大会吸引了500+开发人员交流.观看,并在活动过程中与分享嘉宾 ...

  8. 你真正了解Spring的工作原理吗

     Spring   1.1 什么是Spring IOC 和DI ?   ① 控制反转(IOC):Spring容器使用了工厂模式为我们创建了所需要的对象,我们使用时不需要自己去创建,直接调用Spring ...

  9. node:spawn npm ENOENT

    错误背景 封装脚手架时报错 错误原因 windows系统原因 解决方案 const createProjectAction = async (project) => { console.log( ...

  10. 王道oj/problem20

    网址:oj.lgwenda.com/problem/20 思路:层次建树,用递归的方法前序遍历 代码: #define _CRT_SECURE_NO_WARNINGS#include <stdi ...