ubuntu下磁盘空间不足导致mysql无法启动的解决方法
前言
最近在数据库的一张表添加两个字段,后来提示什么磁盘空间不足什么什么的,后来数据库就断开连接了,之后就一直连接不上去后来,最后经过思考终于解决了这个问题,这一经历下来真是心惊胆战,本文作为记录一下磁盘空间不足导致的 mysql 无法启动的解决办法。
方法如下
操作系统:ubuntu,磁盘空间不足导致的 mysql 无法启动,会造成如下问题:
root@iZ28z558vv0Z:/etc/mysql# mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) root@iZ28z558vv0Z:/b# service mysql start start: Job failed to start root@iZ28z558vv0Z:/var/lib# service mysqld start mysqld: unrecognized service
解决办法:找到 mysql 的配置文件 my.cnf:
root@iZ28z558vv0Z:/etc/mysql# ls conf.d debian.cnf debian-start my.cnf root@iZ28z558vv0Z:/etc/mysql# vi my.cnf
其中文件中的 datadir 这一项显示 /var/lib/mysql
[mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking
因为是磁盘空间不足,所以我们需要查看 mysql 保存数据的所在位置,datadir 或 tmpdir 这两项所在磁盘空间的使用情况,查看 datadir 所在磁盘空间的使用情况:
root@iZ28z558vv0Z:/var# df /var Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 41151808 39038392 0 100% /
由上可以看出明显磁盘空间可用率是0,这就是导致 mysql 无法启动的原因了。删去 /var 目录下的其它文件,腾出磁盘空间,即可解决问题,然后重启 mysql 服务。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
mssql 监控磁盘空间告警实现方法
这几天突然有个想法:希望能够自动监控.收集数据库服务器的磁盘容量信息,当达到一个阀值后,自动发送告警邮件给DBA,将数据库磁盘详细信息告知DBA,提醒DBA做好存储规划计划,初步的想法是通过作业调用存储过程来实现(每天调用一次),这样避免了我每天每台数据库服务器都上去检查一下,尤其是手头的数据库服务器N多的情况,这样可以避免我每天浪费无谓的时间.如果大家有更好的建议和方法,欢迎指点一二,我整理.修改了三个存储过程如下: 存储过程1:SP_DiskCapacityAlert1.prc 说明:需要通
-
Mysql InnoDB删除数据后释放磁盘空间的方法
Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长. 如果在创建数据库的时候设置innodb_file_per_table=1,这样InnoDB会对每个表创建一个数据文件,然后只需要运行OPTIMIZE TABLE 命令就可以释放所有已经删除的磁盘空间. 运行OPTIMIZE TABLE 表名后,虽然最后会报Table does not support optimize, doing recreate + analyze in
-
lnmp下如何关闭Mysql日志保护磁盘空间
LNMP一键包安装的Mysql默认开启Mysql日志,如果网站对数据库读写较为频繁的话可能会产生大量日志,并占用磁盘空间,还有可能导致VPS的硬盘闲置空间消耗满导致数据库无法开启. 本教程的路径适用于LNMP一键安装包环境,其它环境请根据实际情况操作. 若需要关闭,请执行以下操作: 一.修改文件配置 修改/etc/my.cnf,找到以下字符 复制代码 代码如下: log-bin=mysql-bin binlog_format=mixedbash 注释这两行,如下: 复制代码 代码如下: #log
-
Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)
本文为大家分享了解决Mysql存储引擎MyISAM常见问题的方法,供大家参考,具体内容如下 一.处理MyISAM存储引擎的表损坏 在使用MySQL,可能会遇到过MyISAM存储引擎的表损坏的情况.如以下情况: .frm被锁定不能修改 找不到.myi文件(索引文件) 意外结束记录 文件被毁坏 从表处理器得到错误nnn 解决办法1: 使用MySQL自带的myisamchk工具进行修复 打开bin目录,可以看到该工具 命令如下 myisamchk -r tablename r代表recover 或 m
-
SQL Server获取磁盘空间使用情况
对于DBA来说,监控磁盘使用情况是必要的工作,然后没有比较简单的方法能获取到磁盘空间使用率信息,下面总结下这些年攒下的脚本: 最常用的查看磁盘剩余空间,这个属于DBA入门必记的东西: -- 查看磁盘可用空间 EXEC master.dbo.xp_fixeddrives xp_fixeddrives方式有点是系统自带,可直接使用,缺点是不能查看磁盘总大小和不能查看SQL Server未使用到的磁盘信息 使用sys.dm_os_volume_stats函数 --===================
-
SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息
在SQL SERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU).内存(Memory).磁盘(Disk)以及操作系统相关信息.如有不足和遗漏,敬请补充.谢谢! 一:查看数据库服务器CPU的信息 ---SQL 1:获取数据库服务器的CPU型号 EXEC xp_instance_regread 'HKEY_LOCAL_MACHINE', 'HARDWARE\DESCRIPTION\System\CentralProcessor\0', 'Pro
-
MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
查询所有数据库占用磁盘空间大小的SQL语句: 复制代码 代码如下: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_sizefrom information_schema.tablesgroup by TABLE_SCHEMAorder by dat
-
几个缩减MySQL以节省磁盘空间的建议
我们在工作中时常会遇到一些客户的TPS\QPS都不太高,但磁盘占用非常大,一旦单实例空间太大,像内存.网络.CPU以及备份都将增加相应的开销.可能仅仅是由于空间不满足使得我们不得不进行扩容,下面的方法提供给大家参考.有则改之无则加勉. 1.表结构设计上 1) 字符集是否遵循了最小化原则?(能用latin的就不用gbk.能用gbk的就不用utf8) 2) 索引上是否有滥用?(根本不使用的字段建索引.不适合建索引的字段建索引.重复建索引或者不能很好的利用前缀索引等) 3) 冗余字段是否太多?(各表中
-
ubuntu下磁盘空间不足导致mysql无法启动的解决方法
前言 最近在数据库的一张表添加两个字段,后来提示什么磁盘空间不足什么什么的,后来数据库就断开连接了,之后就一直连接不上去后来,最后经过思考终于解决了这个问题,这一经历下来真是心惊胆战,本文作为记录一下磁盘空间不足导致的 mysql 无法启动的解决办法. 方法如下 操作系统:ubuntu,磁盘空间不足导致的 mysql 无法启动,会造成如下问题: root@iZ28z558vv0Z:/etc/mysql# mysql -u root -p Enter password: ERROR 2002 (H
-
log引起的mysql不能启动的解决方法
那我肯定是选择不打包转移过去了 -_-因为这个log对我来说完全没用~ 在新服务器上架设好一切之后发现mysql不能启动 看了一下日志提示不能读取log 嘎嘎-log出问题了 进mysql目录下的data下把非文件夹的文件给删除即可! 因为我不能开启mysql所以无法用命令行清理了
-
win2003下PHP使用preg_match_all导致apache崩溃问题的解决方法
小编的平台是windows server 2003(32位系统) + Apache/2.2.9 (Win32) + PHP/5.2.17,在使用正则表达式 preg_match_all (如 preg_match_all("/ni(.*?)wo/", $html, $matches);)进行分析匹配比较长的字符串 $html 时(大于10万字节,一般用于分析采集回来的网页源码),Apache服务器会崩溃自动重启. 在Apache错误日志里有这样的提示: 复制代码 代码如下: [
-
Windows下PHP安装路径配置错误导致Apache无法启动的解决方法
LoadModule php5_module "C(/D):/Program Files/php5/php5apache2_2.dll" PHP安装路径引起的apache无法启动错误 今天给一同事的PC机安装部署web服务的时候,按同事要求把所有程序文件放到安装目录的program files下,于是我把apache安装到了c:\program files下面,php也安装在c:\program files下.装完MySql,配置好apache和php的配置文件后,重起发现问题了 A
-
80端口被system占用导致Apache无法启动的解决方法
**昨天 开始学习PHP的时候,安装了WampServer,然后一切安装正常后发现有个服务一直无法启动,桌面右下角图标一直是黄色的,怎么也绿不了,然后谷歌了下说是80端口被占用. 下面我就来介绍一下我是怎么解决80端口被system占用的问题吧!** 大家都知道,打开xin+R输入cmd启动命令行输入 netstat -ano,得到端口号对应的PID 如图所示 如图所示,上面第一个就是我们被占用的80端口. 启动"任务管理器"--"进程",在"工具栏&qu
-
80端口被Pid为4的未知程序占用导致Apache不能启动的解决方法
今天在使用WAMP的时候发现它无法正常启动,一直卡在黄色的图标那里,我怀疑是80端口被占用了,于是在cmd里输入:netstat -ano,发现: 80端口被占用,而且PID是4,在任务管理器中查找,发现根本没有PID为4的进程. 后来我发现是一个叫做W3SVC的进程占用了80端口,它的描述是World Wide Web Publishing Service.停止这个进程之后,重新启动WAMP,就解决这个问题了.
-
VMware下ubuntu扩展磁盘空间的方法
近日由于虚拟机下安装软件过多,时不时弹出磁盘空间不足的问题.查找了很多资料,都没有很好的解决办法. 朋友发来一个链接,还是老外有良心.翻译出来放在这里,根据我的实际需求进行了操作,达到了预期目的. 以防万一,在操作之前将虚拟机进行了备份. 由于安装时没有自己进行分区,磁盘大小也使用了默认的20G.后来发现果然悲剧. 使用df -h命令查看具体使用情况 @ubuntu:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 19G
-
磁盘写满导致MySQL复制失败的解决方案
案例场景 今天在线上发现一个问题,由于监控没有覆盖到,某台机器的磁盘被写满了,导致线上MySQL主从复制出现问题.问题如下: localhost.(none)>show slave status\G *************************** 1. row *************************** Slave_IO_State: Master_Host: 10.xx.xx.xx
-
Win10下 Redis启动 错误1067导致进程意外终止的解决方法
一.系统环境 操作系统:Windows10专业版 64位 Redis版本:redis-64.3.0.503 二.问题描述 1.命令行启动: redis-server redis.windows.conf 可以启动成功: 2.将Redis安装为Windows系统服务: redis-server --service-install redis.windows-service.conf --loglevel verbose 3.进入系统服务页面: Win + r打开运行命令框,services.msc
-
MySQL 常见错误分析与解决方法
一.Can't connect to MySQL server on 'localhost'(10061)? 翻译:不能连接到localhost 上的mysql?分析:这说明"localhost"计算机是存在的,但在这台机器上却没提供MySQL服务.?需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误.?解决:既然没有启动那就去启动这台机子的mysql.如果启动不成功,多数是因为你的my.ini配置的有问题.重新配置其即可.?如果觉得mysql负载异常,
随机推荐
- ThinkPHP和UCenter接口冲突的解决方法
- jQuery学习笔记之Helloworld
- 左右悬浮可分组的网站QQ在线客服代码(可谓经典)
- Win7 ASP连接数据库“未找到提供程序.该程序可能未正确安装”问题
- java Struts2 在拦截器里的跳转问题
- POI读取excel简介_动力节点Java学院整理
- JS判断是否为数字,是否为整数,是否为浮点数的代码
- SQLSERVER 2005中使用sql语句对xml文件和其数据的进行操作(很全面)
- jQuery ajaxSubmit 实现ajax提交表单局部刷新
- C#实现系统托盘通知的方法
- 借用Google的Javascript API Loader来加速你的网站
- javascript学习笔记(十七) 检测浏览器插件代码
- Android Activity中使用Intent实现页面跳转与参数传递的方法
- 真正的android程序入口
- .NET(C#):Emit创建异常处理的方法
- Android仿正点闹钟时间齿轮滑动效果
- oracle统计时间段内每一天的数据(推荐)
- jQuery实现的简单图片轮播效果完整示例
- 微信小程序全局变量改变监听的实现方法
- python使用minimax算法实现五子棋