首页
学习
活动
专区
圈层
工具
发布

linux mysql清理日志文件

基础概念

MySQL日志文件主要包括以下几种:

  1. 错误日志(Error Log):记录MySQL服务器启动、运行或停止时的错误信息。
  2. 查询日志(Query Log):记录所有客户端执行的SQL语句。
  3. 慢查询日志(Slow Query Log):记录执行时间超过设定阈值的SQL语句。
  4. 二进制日志(Binary Log):记录所有更改数据的SQL语句,用于数据恢复和复制。

清理日志文件的原因

随着时间的推移,日志文件会不断增长,占用大量磁盘空间,可能导致磁盘空间不足。此外,大量的日志文件也会影响MySQL的性能。

清理方法

1. 手动清理

可以通过以下命令手动删除日志文件:

代码语言:txt
复制
sudo rm /var/log/mysql/error.log
sudo rm /var/log/mysql/slow-query.log

2. 设置日志轮转

使用logrotate工具来自动轮转和清理日志文件。首先,创建一个配置文件/etc/logrotate.d/mysql

代码语言:txt
复制
sudo nano /etc/logrotate.d/mysql

添加以下内容:

代码语言:txt
复制
/var/log/mysql/error.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 640 mysql adm
}

/var/log/mysql/slow-query.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 640 mysql adm
}

保存并退出,然后运行logrotate

代码语言:txt
复制
sudo logrotate -f /etc/logrotate.d/mysql

3. 修改MySQL配置

可以通过修改MySQL配置文件my.cnfmy.ini来禁用或限制日志文件的生成:

代码语言:txt
复制
sudo nano /etc/mysql/my.cnf

添加或修改以下配置:

代码语言:txt
复制
[mysqld]
log-error=/var/log/mysql/error.log
slow-query-log=0
slow-query-log-file=/var/log/mysql/slow-query.log

保存并退出,然后重启MySQL服务:

代码语言:txt
复制
sudo systemctl restart mysql

应用场景

  • 生产环境:在高负载的生产环境中,定期清理日志文件可以避免磁盘空间不足的问题,提高系统性能。
  • 开发环境:在开发过程中,可以通过清理日志文件来减少磁盘占用,方便调试和测试。

参考链接

通过以上方法,可以有效地清理和管理MySQL日志文件,确保系统的稳定性和性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • mysql 正确清理binlog日志

    mysq 正确清理binlog日志 前言: MySQL中的binlog日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是binlog也会日渐增大,占用很大的磁盘空间,因此,要对...binlog使用正确安全的方法清理掉一部分没用的日志。...【方法一】手动清理binlog 清理前的准备: ① 查看主库和从库正在使用的binlog是哪个文件 ?...1 purge master logs to'mysql-bin.000022'; //删除指定日志文件的日志索引中binlog日志文件 注意: 时间和文件名一定不可以写错,尤其是时间中的年和文件名中的序号...使用该语法,会将对应的文件和mysql-bin.index中的对应路径删除。 【方法二】通过设置binlog过期的时间,使系统自动删除binlog文件 ?

    5.5K10

    MySQL 常见日志清理策略

    前言:MySQL 数据库服务器使用多种类型的日志来记录操作和事件,这对于故障诊断、审计和性能分析非常重要。然而,这些日志文件会随着时间的推移而不断增长,可能会占用大量的磁盘空间。...因此,定期清理这些日志是必要的,本篇文章我们一起来学习下如何清理 MySQL 中的日志文件。...一般是默认开启的,不过错误日志增长速度很慢,通常不需要频繁清理,可以手动清理或设置定期任务清理旧的日志文件。错误日志保留时间可以更长些。...审计日志增长速度也比较快,一般审计插件都提供清理参数,比如说日志文件到达多少 M 自动轮换,保留几份日志文件等,一定要设置好此类参数,以防占用大量磁盘空间。...中继日志 (Relay Log)中继日志是 MySQL 复制过程中用于存储从主服务器接收的二进制日志事件的临时日志文件。这些日志文件由从服务器用来应用来自主服务器的更新。

    1.9K10

    Linux 系统 varlogjournal 垃圾日志清理

    本文转自米扑博客:Linux 系统 /var/log/journal/ 垃圾日志清理 默认情况下并不会持久化保存日志,只会保留一个月的日志。...邮件服务的日志 /var/log/cron crond计划任务的日志 /var/log/boot.log 系统启动的相关日志 曾经有人说:Linux没有垃圾文件,Windows才有垃圾文件,实际上不是这样的...Linux到底有没有占用空间的垃圾文件,这个看如何判定了,例如好几年前、几个月前的日志文件、系统文件,基本没什么用处,算垃圾文件吗?...未清理前发现硬盘根分区空间告急,用 du -t 100M /var 或 journalctl --disk-usage 命令查看,发现/var/log/journal日志文件占用了近3G空间,每个日志文件体积高达...8-128M,这些日志文件记录了很长时间以来的systemd情况,毫无价值,用journalctl --vacuum-size=10M命令将其清理之后,腾出了2.7G的空间。

    21.2K42

    Linux 系统 varlogjournal 垃圾日志清理

    常见的日志文件如下: /var/log/messages 绝大多数的系统日志都记录到该文件 /var/log/secure 所有跟安全和认证授权等日志都会记录到此文件 /var/log/maillog...邮件服务的日志 /var/log/cron crond计划任务的日志 /var/log/boot.log 系统启动的相关日志 曾经有人说:Linux没有垃圾文件,Windows才有垃圾文件,实际上不是这样的...Linux到底有没有占用空间的垃圾文件,这个看如何判定了,例如好几年前、几个月前的日志文件、系统文件,基本没什么用处,算垃圾文件吗?...未清理前发现硬盘根分区空间告急,用 du -t 100M /var 或 journalctl --disk-usage 命令查看,发现/var/log/journal日志文件占用了近3G空间,每个日志文件体积高达...8-128M,这些日志文件记录了很长时间以来的systemd情况,毫无价值,用journalctl --vacuum-size=10M命令将其清理之后,腾出了2.7G的空间。

    11.8K32

    SQL Server日志文件过大如何清理

    SQL Server日志文件太大,导致数据库服务器硬盘满了, 这时候我们可以增加服务器的硬盘,也可以把数据库日志文件备份到其他磁盘上,重新创建新的日志文件,详细步骤如下:将数据库从数据库服务器上脱离选择数据库...——右键——任务——分离备份并删除数据库日志文件(.ldf)创建新的同名数据库通知SQL Server 服务,并将原先的数据库文件(.mdf) 覆盖新创建的数据文件。...Server 服务设置数据库为紧急状态alter database 数据库名 set emergency设置为数据库为单用户模式alter database 数据库名 set single_user检查日志文件...dbcc checkdb('数据库名',REPAIR_ALLOW_DATA_LOSS)重建日志文件dbcc checkdb('数据库名',REPAIR_REBUILD)设置为数据库为多用户模式alter

    4.1K10

    Linux清理垃圾文件

    文章时间:2021年8月2日 22:49:22 解决问题:服务器硬盘小空间满了 清理垃圾数据 清理journal日志 目录/var/log/journal journalctl --vacuum-size...=10M 1)只保留近一周的日志 journalctl --vacuum-time=1w Linux下查找大文件 所有选项: -a 查看目录中所有文件大小 -b 显示目录文件夹大小,单位b -k 显示目录文件夹大小...,单位kb -m 显示目录文件夹大小,单位M -s 显示你指定的或当前目录所有文件总大小 -h 以kb,mb,gb为单位显示 查找大于100M的文件 find ....-type f -size +100M 显示全部文件占用空间 du -s /* 显示前10个占用空间最大的文件或目录 du -s * | sort -nr | head 把文件和文件夹列表从小到大排序...g" `grep 查找字段 -rl 路径` Linux删除大量文件会报错 -bash: /bin/rm: Argument list too long ls | xargs -n 10 rm -fr ls

    3.6K30

    Linux使用Shell脚本定时清理日志

    +30 -name "*.log" -exec rm -rf {} \; 说明: find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} ; find:linux...的查找命令,用户查找指定条件的文件; /opt/soft/log/:想要进行清理的任意目录; -mtime:标准语句写法; +30:查找30天前的文件,这里用数字代表天数; "*.log":希望查找的数据类型...,"*.log"表示查找扩展名为jpg的所有文件....-exec:固定写法; rm -rf:强制删除文件,包括目录; {} ; 固定写法,一对大括号+空格++; 二、计划任务: 1、创建shell文件 创建可执行shell文件 touch /data/shell...没有将.sh文件设置为可执行文件 添加文件可运行权限 chmod +x /data/shell/bin/del-30-days-ago-log.sh 2、保存系统定时任务文件出现问题 (1)、空格问题

    2.6K10

    Linux 系统 varlogjournal 垃圾日志清理教程

    Linux 系统也会在使用很长一段时间后出现硬盘空间开始不够的情况,而这并不一定是正常使用的文件占用,而是像 Windows 系统一样,在系统的运行和使用中会出现垃圾日志,就像 CentOS 系统中有两个日志服务...常见的日志文件如下: /var/log/messages 绝大多数的系统日志都记录到该文件 /var/log/secure 所有跟安全和认证授权等日志都会记录到此文件 /var...查看垃圾文件的方法 未清理前发现硬盘根分区空间告急,用 du -t 100M /var/log/ 或 journalctl –disk-usage 命令查看。...最近子凡发现我们泪雪网服务器的/var/log/journal 日志文件占用了 4G 空间,每个日志文件体积在 8-128M 左右,这些日志文件记录了很长时间以来的 systemd 情况,对于我们实际的网站运营来说没有任何价值...除非注明,否则均为泪雪博客原创文章,禁止任何形式转载 本文链接:https://zhangzifan.com/linux-journal.html

    8.8K110

    mysql 日志文件_mysql日志文件在哪「建议收藏」

    本篇文章将介绍mysql中的几种日志文件位置,如何能够找到。...mysql日志文件的查询方法: 查找错误日志文件路径show variables like ‘log_error’; 在mysql数据库中,错误日志功能是默认开启的。并且,错误日志无法被禁止。...默认情况下,错误日志存储在mysql数据库的数据文件中。错误日志文件通常的名称为hostname.err。其中,hostname表示服务器主机名。...查找日志文件路径show variables like ‘general_log_file’; 日志是mysql数据库的重要组成部分。...日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。

    00

    如何使用moonwalk清理Linux系统日志和文件系统时间戳

    关于moonwalk moonwalk是一款专为红队研究人员设计的痕迹隐藏工具,在该工具的帮助下,广大研究人员可以在针对Linux系统的漏洞利用或渗透测试过程中,不会在系统日志或文件系统时间戳中留下任何痕迹...moonwalk是一个大小仅有400KB的二进制可执行文件,能够清理研究人员在针对Unix设备进行渗透测试时留下的痕迹。...该工具能够保存渗透测试之前的目标系统日志状态,并在测试完成后恢复该状态,其中包括文件系统时间戳和系统日志,而且也不会在后渗透过程中留下Shell的执行痕迹。...功能介绍 1、可执行文件体积小:轻松使用 curl获取工具; 2、运行速度快:可以在五毫秒内执行包括日志记录、痕迹清理和文件系统操作在内的所有会话命令; 3、网络侦查:保存系统日志状态,moonwalk...会寻找一个全局可写的路径,并将会话存储在该路径中,然后在会话结束之后清理该目录; 4、Shell历史记录:moonwalk不会直接清理整个历史记录文件,而是将其恢复到测试之前的状态; 5、文件系统时间戳

    2.6K10

    mysql binlog日志自动清理及手动删除

    image.png 说明 当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。...,x是自动删除的天数,一般将x设置为短点,如10 expire_logs_days = x // 二进制日志自动删除的天数。...,执行以下SQL语句手动清除binlog文件 PURGE MASTER LOGS TO 'MySQL-bin.010'; // 清除MySQL-bin.010日志 PURGE MASTER LOGS...也可以重置master,删除所有binlog文件:reset master; 附录 1、 expire_logs_days 英文说明 Where X is the number of days you’...不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。

    9.7K11

    linux系统自动清理日志的操作脚本

    linux系统自动清理日志的操作脚本 根据实际需要,编写自定义的清理脚本,添加到定时任务中 大致操作命令格式如下,可按照脚本含义解释自行修改你所需要的执行效果: 创建可执行文件 cd /home touch...zhongli_interface -type f -mtime +3 -name "*.tmp" -exec rm -rf {} \; 脚本含义解释(仅供参考): /home/zhongli_interface 清理文件的路径...,-type f 清理文件类型为文件,f修改成d 就是文件夹。...-mtime +3 清理三天前的文件,清理文件名为.tmp结尾的文件,-exec 执行的命令,{} \; 固定格式。...具体参数说明如下: find:linux的查找命令,用户查找指定条件的文件; /export/Logs/:想要进行清理的任意目录;  -type f代表文件 d代表目录 -mtime:标准语句写法;+30

    4.3K20

    Mongo日志清理

    不暂停服务清理日志 Mongo在运行一段时间后,日志会积累越来越多,占用磁盘空间,但如果直接通过rm -rf mongo.log会把当前日志清除后并未能新生成一个新的日志,所以通常需要先停止Mongo...-》清理日志–》启动Mongo,对于生产环境来说,这样的方式对现运行的应用是有影响和风险的,所以网上搜了下不停服的清理日志方式。...就可以删除原来的服务了 Linux下配制定时任务执行删除切分日志 1.shell 脚本 vi logRotate.sh #!...-SIGUSR1 $pid 1 > /dev/null 2> /dev/null #切割日志 find $logfile/ -mtime +$days -delete #删除7天前的备份文件 :wq..."分割日志并清理日志结束=================================">> /data/mongo/cleanlog.log 配制linux定时任务 填加定时任务 vi /etc/

    24100
    领券