mysql:Can't start server: can't create PID file: No space left on device

解决案例一:

今天公司服务器上所有的网站都出现问题,有的打开没有数据,有的直接是空白。

我的第一反应就是数据库挂了。打开远程,进了系统,service mysqld stop 失败。service mysqld start等了好大一会,提示Timeout error occurred trying to start MySQL Daemon

一开始以为是mysql用户问题,查询系统用户完全没有问题。

打开log日志一看,问题出现了Can't start server: can't create PID file: No space left on device;

df -h看了一下磁盘,500G的硬盘已经使用了100%,可用为0;

一咬牙删光了var/log文件夹。没想到的是log日志已经积累达到32G。

狂汗!!!而后启动mysql一切正常了。

解决案例二:

最近在维护linux服务器时发现,网站打不开了,经过检查发现是mysql数据库宕掉了,死活就是启动不起来。

然后看mysql日志文件

出现Can't start server: can't create PID file: No space left on device

这个错误。

提示磁盘空间不足

后用df -h 命令查看

竟然发现磁盘容量全部用完了,于是要查看是谁占用了
用命令:
find /tmp -size +100000000c
查找下磁盘中大于100M的文件
竟然出现:

tomcat的日志文件占用了443G,真是可恶啊啊
 
 删掉此日志文件
rm -rf catalina.out
重新启动mysql即可。
最好重启linux os。

解决案例三:

mysql启动失败,日志显示如下:

代码如下:

120321 14:23:54 InnoDB: 1.1.8 started; log sequence number 1595695
120321 14:23:54 [ERROR] /usr/libexec/mysqld: Error writing file ‘/var/run/mysqld/mysqld.pid' (Errcode: 28)
120321 14:23:54 [ERROR] Can't start server: can't create PID file: No space left on device
120321 14:23:54 mysqld_safe Number of processes running now: 0
120321 14:23:54 mysqld_safe mysqld restarted
120321 14:23:54 [Note] Plugin ‘FEDERATED' is disabled.
120321 14:23:54 InnoDB: The InnoDB memory heap is disabled
120321 14:23:54 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
120321 14:23:54 InnoDB: Compressed tables use zlib 1.2.3
120321 14:23:54 InnoDB: Using Linux native AIO
120321 14:23:54 InnoDB: Initializing buffer pool, size = 128.0M
120321 14:23:54 InnoDB: Completed initialization of buffer pool
120321 14:23:54 InnoDB: highest supported file format is Barracuda.
120321 14:23:55  InnoDB: Waiting for the background threads to start

其实答案很简单,
No space left on device 没有磁盘空间了。      清理/var/log的空间!

(0)

相关推荐

  • linux mysql 报错:MYSQL:The server quit without updating PID file

    1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限解决方法 :给予权限,执行 "chown -R mysql:mysql /var/data" "chmod -R 755 /usr/local/mysql/data"  然后重新启动mysqld! 2.可能进程里已经存在mysql进程解决方法:用命令"ps -ef|grep mysqld"查看是否有mysqld进程,如果有使用"kill -9  进

  • 解决MySQL因不能创建 PID 导致无法启动的方法

    问题描述 MySQL 启动报错信息如下: Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED] 根据提示,使用 systemctl

  • Python聊天室带界面实现的示例代码(tkinter,Mysql,Treading,socket)

    一.前言 我用的是面向对象写的,把界面功能模块封装成类,然后在客户端创建对象然后进行调用.好处就是方便我们维护代码以及把相应的信息封装起来,每一个实例都是各不相同的. 所有的界面按钮处理事件都在客户端,在创建界面对象是会把客户端的处理事件函数作为创建对象的参数,之后再按钮上绑定这个函数,当点击按钮时便会回调函数 二.登录界面实现 登录界面模块chat_login_panel.py from tkinter import * # 导入模块,用户创建GUI界面 # 登陆界面类 class Login

  • MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket

    在安装好了MySQL之后,使用了新的配置文件后,MySQL服务器可以成功启动,但在登陆的时候出现了ERROR 2002 (HY000): Can't connect to local MySQL server through socket,即无法通过socket连接到mysql服务器,同时提供了socket文件的位置.下面是这个问题的描述与解决办法. 1.故障现象 复制代码 代码如下: [root@SZDB mysqldata]# mysql -uroot -p123456 Warning: U

  • java+jdbc+mysql+socket搭建局域网聊天室

    本文实现思路:利用UDP协议进行局域网信息传输,建立点对点的聊天网络,每个端用户有自己的一个mysql数据库,所以需要获取其数据库用户名和密码,然后通过该数据库内容发送信息,接收消息则没有限制, 步骤: 建立数据表存储主机ip,接收信息端口port,nickname 向所有用户发送信息 接收信息 小部件(添加好友,删除好友) 一.建立数据表存储主机ip,接收信息端口port,nickname 在mysql数据库里建立chatusr数据表,表的格式为: 检测表是否存在和建立数据表的代码如下: vo

  • 详解MySQL中的pid与socket

    socket文件:当用Unix域套接字方式进行连接时需要的文件. pid文件:MySQL实例的进程ID文件. 1.pid-file介绍 MySQL 中的 pid 文件记录的是当前 mysqld 进程的 pid ,pid 亦即 Process ID .可以通过 pid-file 参数来配置 pid 文件路径及文件名,如果未指定此变量,则 pid 文件默认名为 host_name.pid ,存放的路径默认放在 MySQL 的数据目录. 建议指定 pid 文件名及路径,pid 目录权限要对 mysql

  • Java Socket+mysql实现简易文件上传器的代码

    最近跟着某网站学习了一个小项目,因为白天有课,所以都是晚上写的,今天把它完成了. 项目主要是实现一个文件上传器,通过客户端的登陆,把本地文件上传到服务器的数据库(本地的). 首先建两个表如下: 一个文件信息表 CREATE TABLE `fileinfo` ( `Fname` char(50) NOT NULL, `FInfo` blob NOT NULL, `FId` int(10) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`FId`) ) ENGINE=I

  • mysql socket文件作用详解

    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,一般在配置部署mysql环境时都会在mysql的my.cnf文件中[mysqld]栈下添加上socket文件的路径,而这样做的好处是如果启用了多实例mysql时,可以通过socket文件来快速的登录mysql对应不同端口下的实例,如在一台有部署2个实例的mysql服务一个是用3306,一个是用3307端口,那么就可以通过2个不同的socket文件快速的登录 mysql -uroot -p --socket=

  • MySQL提示:The server quit without updating PID file问题的解决办法

    用df命令查了下,果然磁盘满了,因为当时分区采用系统默认,不知道为什么不能自动扩容!以后在处理这个问题!如图所示: 复制代码 代码如下: [root@snsgou ~]# df文件系统                 1K-块      已用      可用 已用% 挂载点/dev/mapper/vg_snsgou-lv_root51606140  47734848   1249852  100%      /tmpfs                  1953396        88  

  • MySQL HandlerSocket插件安装配置教程

    一.HandlerSocket是什么?HandlerSocket是akira higuchi写的一个MySQL的插件.以MySQL Daemon Plugin的形式提供类似NoSQL的网络服务,通过这个插件,你可以直接跟MySQL后端的存储引擎做key-value式的交互,省去了MySQL上层的SQL解释.打开关闭表.创建查询计划等CPU开销. 目前使用MySQL的网站,多半同时使用Memcache作为键值缓存.虽然这样的架构极其流行,有众多成功的案例,但过于依赖Memcache,无形中让Mem

  • Starting MySQL.Manager of pid-file quit without updating file.[FAILED]的解决方法

    因为硬盘满了,mysql启动不起来了. 登录上去看了一下,发现原因. 删除mysql的日志文件,重启mysql发现错误:Starting MySQL.Manager of pid-file quit without updating file.[FAILED] 网上有不少这个原因的解释,但是都不是我想说的.我要说的原因其实很白痴:data/mysql-bin.index没有删除,data/mysql-bin.index是存放日志文件索引的文件,只删除了日志文件而没有对日志的索引文件做处理显然是不

  • ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

    错误信息: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 出现问题原因: 有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socket mysql.sock 文件有什么用: mysql 支持 socket 和 TCP/IP 连接.那么 mysql.sock 这个文件有什么用呢?连接local

  • 深度解析MySQL启动时报“The server quit without updating PID file”错误的原因

    很多童鞋在启动mysql的时候,碰到过这个错误, 首先,澄清一点,出现这个错误的前提是:通过服务脚本来启动mysql.通过mysqld_safe或mysqld启动mysql实例并不会报这个错误. 那么,出现这个错误的原因具体是什么呢? 哈哈,对分析过程不care的童鞋可直接跳到文末的总结部分~ 总结 下面,来分析下mysql的服务启动脚本 脚本完整内容如下: #!/bin/sh # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Progr

  • MySQL下PID文件丢失的相关错误的解决方法

    今天同事A找到我,说是Mysql server X的负载很高,查询很慢.他自己捣鼓了一阵未果后,我们一起看了下. [root@redhat var]# uname -a Linux xxx 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux [root@redhat var]# mysql -u root -p -e "select version();" +--------

  • Can't connect to local MySQL through socket '/tmp/mysql.sock'解决方法

    报错信息: ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) 解决办法: /usr/local/mysql/bin/mysqladmin -u root > -S /var/lib/mysql/mysql.sock password 'your.passwd' 或者做个软连接 ln -s /var/lib/mysql/mysql.sock /tmp 原因: 其实提示找不到

  • mysql启动报错MySQL server PID file could not be found

    昨天解决完数据库跨权限操作后,今天打开项目突然报错了,然后重启数据库时,报 ERROR! MySQL server PID file could not be found!,命令行链接数据库时也报 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2),网上找了一些资料,居然都是相互抄袭的,并且并没有解决问题.然后自己摸索了一下,问题就解决了,下面是我的解决方案,以便和我一样遇到问题的童

  • Mysql挂掉后无法重启报pid文件丢失的解决方法

    阿里云单核2G的配置挂着两个企业网站,访问量一般.最近每天几乎都会出现网站打不开显示数据库链接失败的问题. 多方寻求原因发现,mysql的pid文件缺失,并无法重启自建,后来也看了其他帖子说关闭日志什么的未果,查看系统日志发现,是因为内存满了导致mysql进程被杀,然后就一直挂起状态. Sep 25 11:33:48 iZ28jcqqr7lZ kernel: Out of memory: Kill process 23201 (mysqld) score 53 or sacrifice chil

随机推荐