问题描述:

这是我在工作中遇到的一个问题,目前只发现mysql数据库存在该问题,Oracle和gaussDB未发现磁盘空间被占满的情况,部署堆栈服务的时候抛出了写入数据库表失败的问题,经排查,在数据库主机上查看磁盘空间,发现可用空间不足:

(备注:发现问题的时候忘了截图,这是修复后的情况,发现可用空间还有95%,修复之前已经无可用空间)

已经确定了是磁盘空间不足的问题,那么是什么导致占用了这么大的空间呢,最终确认mysql有个操作记录的日志

(解决之前这个文件大小已经达到了二百多G,严重浪费资源)

既然问题已经明确,那么就想到了对应的解决办法,那就是设置定时任务,定期清理日志文件

解决办法:

1.创建一个cron定时任务文件,如:mysql_clear.cron

2.vi mysql_clear.cron 添加以下信息后保存退出

* 23 * * * cat /dev/null > /opt/mysql/mysql/data/linux-10-75-187-127.err  
其中linux-10-75-187-127为主机名,根据实际情况修改(定时任务此时设置的每天清理一次该日志文件)

3.执行命令 crontab mysql_clear.cron  使定时任务生效

4.使用命令 crontab -l查看定时任务是否添加成功

知识点:

service crond start    启动服务
service crond stop    关闭服务
service crond restart  重启服务
service crond reload   重新载入配置
service crond status   查看服务状态

crontab [-u username] [-l|-e|-r]

参数:

-u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;

-e: 编辑crontab 的工作内容;

-l: 查阅crontab的工作内容;

-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。

定时任务格式:* * * * * command

特殊字符  代表意义
*(星号) 代表任何时刻都接受的意思。举例来说,范例一内那个日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。
,(逗号)

代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:

0 3,6 * * * command

时间还是有五列,不过第二列是 3,6 ,代表3与6都适用

-(减号)

代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:

20 8-12 * * * command

仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思

/n(斜线)

那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:

*/5 * * * * command

用*与/5来搭配,也可以写成0-59/5,意思相同

mysql数据库磁盘空间被撑爆,创建定时任务定期释放资源的更多相关文章

  1. MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下   数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...

  2. [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下   数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...

  3. DG备库磁盘空间满导致无法创建归档

    上周五去某客户那里做数据库巡检.是window 2008系统上10g的一套NC系统的库,已经配置了DG,可是巡检时发现数据库报错: Tue Nov 11 10:13:57 2014 LNS: Stan ...

  4. mysql 错误- 磁盘空间不足,

    mysql 磁盘空间不足错误 磁盘空间满了, 写不进去了. :: mysqld_safe Starting mysqld daemon with databases from /alidata/ser ...

  5. Mysql数据库一个小程序实现自动创建分表。

    每当跨月的时候也是系统出问题最多的时候,没有表和字段缺失是两个最常见的错误. 为了解决这个问题,研究了一下mysql的 information_schema 表: information_schema ...

  6. mysql 数据库磁盘占用量统计

    查看某个表的磁盘占用量 select (data_length+index_length)/1024/1024 M from information_schema.tables where table ...

  7. MySQL数据库~~~~~创建用户和授权、备份和还原

    一 MySQL创建用户和授权 1.1 对新用户增删改 1.创建用户: # 指定ip:192.118.1.1的chao用户登录 create user 'chao'@'192.118.1.1' iden ...

  8. 创建MySQL数据库和表(一)

    一.启动MySQL服务 1.在Windows操作系统的“服务”中启动,找到你安装MySQL的起的服务名称,我本机服务名的是MySQL. 2.在命令行中用命令启动: A.启动MySQL服务:net st ...

  9. EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型

    官方教程:https://docs.microsoft.com/en-us/aspnet/core/data/?view=aspnetcore-2.1 使用EF CodeFirst在MySql中创建新 ...

随机推荐

  1. MyBatis从入门到精通:select较深层次的用法

    一,简单的情形 需求: 根据用户id获取用户拥有的所有角色,返回的结果为角色集合. 1.接口中增加的方法: List<SysRole> selectRolesByUserId(Long u ...

  2. SpringBoot热部署报错(BeanCreationException: Error creating bean with name 'classPathFileSystemWatcher' d)

    springboot热部署配置方法 http://blog.csdn.net/pyfysf/article/details/78791292 异常信息如下 org.springframework.be ...

  3. [leetcode] 621. Task Scheduler(medium)

    原题 思路: 按频率最大的字母来分块,频率最大的字母个数-1为分成的块数,每一块个数为n+1 比如AAABBCE,n=2, 则分为A-A- +A AAABBBCCEE,n=2,则分为AB-AB- +A ...

  4. 深入理解Java中的锁(一)

    Java中锁的概念 自旋锁 : 是指当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断判断锁是否能够被成功获取,直到获取到锁才会退出循环. 乐观锁 : 假定没有冲突,在 ...

  5. 入门训练-1.A+B问题

    问题描述 输入A.B,输出A+B. 说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标. 输入格式 输入的第一行包括两个整数,由空格分隔,分别表示A.B. 说明:“输入格式”是描述在测试你 ...

  6. Java基础之分支结构循环结构

    流程控制语句if(分支结构) 流程控制:流程就是指代码运行过程.控制就是说什么场景可以执行,什么场景不能执行. 1.if语句第一种形式 格式:if(表达式){      执行的语句:     } 2. ...

  7. spring中获取容器中的Bean为什么前转成接口而不是实现类

    简单介绍一下上下文,userService是服务层接口有一个save方法,userServiceImpl是该接口的实现类重写了save方法. applicationContext.xml如图: 后台代 ...

  8. 【iOS】edgesForExtendedLayout

    在 iOS 7.0 中,苹果引入了一个新的属性,叫做 edgesForExtendedLayou,它的默认值为 UIRectEdgeAll. 当你的容器是 navigationController 时 ...

  9. 【转载】C/C++中long long与__int64的区别

    在C99标准(详情请猛击:C语言的发展及其版本)中,增加了对64位长整型数据的支持,它的类型就是 long long,占用8个字节. 由于C99标准发布较晚,一些较老的C/C++编译器不支持,新编译器 ...

  10. logging模块 旗舰版

    函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging.warning(' ...