mysql5.7 清除binlog日志
查看是否为binlog文件占用大量磁盘
df -Th #查看磁盘使用大小
du -sh /var/lib/mysql/* #查看是否是log_bin占用
cd /var/lib/mysql/
ll -h #查看日志时间以及大小(以便后面跟进日期进行删除)
mysql -u root -p #登录mysql
show variables like '%log_bin%'; #查看是否开启log_bin
show binary logs;
手动清除binlog日志(存在主从的情况)
mysql -u root -p #登录mysql
purge master logs before '2022-03-01 00:00:00'; #删除'2022-03-01 00:00:00'之前的日志
set global expire_logs_days = 7; #配置超过7天的日志自动清除
flush logs; #刷新日志
操作完成,先停服务,最后停mysql,启动时先启动mysql,在启动服务
systemctl stop zabbix-proxy
systemctl stop zabbix-agent
systemctl stop mysqld
systemctl start mysqld
systemctl start zabbix-agent
systemctl start zabbix-proxy
systemctl status mysqld
systemctl status zabbix-proxy
systemctl status zabbix-agent
df -Th #查看磁盘使用率是否存在改善
查询某个时间段的慢日志
cat /data/logs/mysql/slow.log | sed -n '/2023-02-20T21:00/,/2023-02-21T00:00/p' >>/tmp/slow.log
mysqlbinlog备份
#!/bin/bash
#日期
dd=`date +%Y-%m-%d-%H-%M-%S`
#备份文件
dir=/var/lib/mysql/data/mysql-bin.0*
#备份文件保存路径
dir_bak=/opt/backup/mysqlbinlogdump/binlog
cd $dir_bak
tar -czvf $dd-binlog.tar.gz $dir
#删除15天以上备份
find $dir_bak -name "*.tar.gz" -type f -ctime +15 -exec rm -rf {} \; > /dev/null 2>&1