一,mysqladmin使用flush-logs的文档:

mysql8官网上面针对mysqladmin的文档地址

https://dev.mysql.com/doc/refman/8.0/en/mysqladmin.html

内容:

flush-logs [log_type ...]

Flush all logs.

The mysqladmin flush-logs command permits optional log types to be given, to specify which logs to flush. Following the flush-logs command,
you can provide a space-separated list of one or more of the following log types: binary, engine, error, general, relay, slow.
These correspond to the log types that can be specified for the FLUSH LOGS SQL statement.

说明: flush-logs 加 error binary slow 等参数,这个功能点是在mysql5.7版本后才增加的,

更低版本的mysql应该不支持这个参数,一定要注意

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,创建日志分割后目录

[root@yjweb logs]$ mkdir mysqllogsbackup

三,编写脚本

[root@yjweb crontab]# vi split_mysql_logs.sh

内容:

#!/bin/bash
# 备份mysql的日志 # 昨天的日期
file_date=$(date -d"1 day ago" +"%Y%m%d")
echo ${file_date} #mysql log的路径
log_path_mysql=/data/mysql/log #日志分割后的路径
back_base=/data/logs/mysqllogsbackup
user="root"
passwd="demopass" # ===================backup dir name======================== date_year=$(date -d"1 day ago" +"%Y")
date_month=$(date -d"1 day ago" +"%m")
date_day=$(date -d"1 day ago" +"%d")
back_path=${back_base}/${date_year}/${date_month}/${date_day}
echo ${back_path} # ===================mkdir back_path======================== if [ -d ${back_path} ];then
echo 目录已经存在,不能重复创建
else
mkdir -p ${back_path}
fi # =================== 备份mysql log ======================== cd ${log_path_mysql}
for file in $(ls *log);
do
mv ${file} ${back_path}/${file_date}_${file}
done /usr/local/soft/mysql/bin/mysqladmin -u$user -p$passwd --socket=/data/mysql/var/mysql.sock flush-logs slow error

说明:我们针对两个日志做切分,一个是慢查询日志,一个是错误日志

不建议针对二进制日志即binlog做切分

四,编写完成后添加可执行属性,并加入到crond

[root@yjweb crontab]# chmod +x split_mysql_logs.sh
[root@yjweb log]# crontab -e

增加一行

15 0 * * * sh /data/web/crontab/split_mysql_logs.sh >> /data/logs/cronlogs/splitmysqllogs.log 2>&1 

查看效果:

[root@yjweb log]# crontab -l | grep mysql
15 0 * * * sh /data/web/crontab/split_mysql_logs.sh >> /data/logs/cronlogs/splitmysqllogs.log 2>&1

五,查看日志分割的效果:

[root@yjweb log]# ll /data/logs/mysqllogsbackup/2020/03/10/
total 48
-rw-r--r-- 1 mysql mysql 42444 Mar 11 16:52 20200310_mysqld.log
-rw-r----- 1 mysql mysql 1184 Mar 11 17:22 20200310_mysql-slow.log

六,查看当前centos服务器版本

[root@yjweb ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

centos8平台mysql日志的按天切分的更多相关文章

  1. CentOS8平台php日志的定时切分

    一,编写bash脚本: [root@yjweb crontab]# vi split_php_logs.sh 代码: #!/bin/bash # 备份php/php-fpm的日志 # 昨天的日期 fi ...

  2. CentOS8平台nginx日志的定时切分

    一,编写bash脚本: [root@yjweb crontab]# vi split_nginx_logs.sh 代码: #!/bin/bash # 备份nginx的日志 # 昨天的日期 file_d ...

  3. centos8平台redis5日志按天分割

    一,创建日志的备份目录 [root@yjweb crontab]# mkdir /data/logs/redislogsbackup 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https:// ...

  4. MySQL日志管理

    MySQL日志管理 2013年09月26日 ⁄ MySQL ⁄ 共 14266字 ⁄ 评论数 ⁄ 被围观 , views+ 一.日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内 ...

  5. MySQL 日志管理详解

    大纲 一.日志分类 二.日志详解 注:MySQL版本,Mysql-5.5.32(不同版本的mysql变量有所不同) 一.日志分类 错误日志 查询日志 慢查询日志 二进制日志 中继日志 事务日志 滚动日 ...

  6. MYSQL数据库性能调优之八:mysql日志

    MySQL日志 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志.中继日志: 使用 SHOW GLOBAL VARIABLES LIKE '%log%';  查询所有日志配置详情: 一. ...

  7. 笔记整理--Linux平台MYSQL的C语言

    Linux平台MYSQL的C语言API全列表 - 第三只眼的专栏 - 博客频道 - CSDN.NET - Google Chrome (2013/8/18 22:28:58)   Linux平台MYS ...

  8. 何时、怎样开启 MySql 日志?

    假如你是一名 web 开发者.假设你想调试你的应用或提升其性能的话,那你须要去參考各种日志文件.日志是開始故障排除最好的选择.就著名的 MySql 数据库server而言,你须要參考下面日志文件: 错 ...

  9. log4j配置参数详解——按日志文件大小、日期切分日志文件

    项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. ...

随机推荐

  1. ctfhub sql注入字符型

    手工注入 1, 检查是否存在注入 2.猜字段数.列数 3.获得注入点,数据库名称,数据库版本 4.获得表名 5.获得字段名 6.获得flag sqlmap方法 1.查数据库库名 2.查表名 3.查字段 ...

  2. 安装最新LAMP环境(CentOS7+PHP7.1.5+Mysql5.7)

    安装Apache&Nginx ①.升级一下yum源(不是必须的),升级会花点时间,需要选择的地方都选择都输入“y”即可 yum update ②. 安装Apache yum list |gre ...

  3. [程序员代码面试指南]递归和动态规划-数字字符串转换为字母组合的种数(DP)

    题意 给一个字符串,只由数字组成,若是'1'-'26',则认为可以转换为'a'-'z'对应的字母,问有多少种转换方法. 题解 状态转移很好想,注意dp多开一位,dp[0]为dp[2]的计算做准备.dp ...

  4. Vue+SpringBoot项目实战(一) 搭建环境

    GitHub 地址: https://github.com/dongfanger/sprint-backend https://github.com/dongfanger/sprint-fronten ...

  5. Docker之使用Dockerfile创建定制化镜像(四)

    Dockerfile简介 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么哪些无法重复的问题.镜像构建 ...

  6. Kubernetes中的Helm和修改证书有效时间(八)

    一.Helm的介绍 1,概念 Helm 把 k8s 资源(比如 deployments.services 或 ingress 等)打包到一个 chart 中,而 chart 被保存到 chart 仓库 ...

  7. Vue iview Tree组件实现文件目录-高级实现

    Tree组件实现文件目录-基础实现 封装文件目录组件 src\views\folder-tree\folder-tree.vue <template> <div class=&quo ...

  8. (专题一)07 matlab中字符串的表示

    matlab中,字符串使用单引号括起来的字符序列 >>xm='Central South University' >>xm(1:3) ans= Cen 截取1--3这三个字符, ...

  9. shellcode注入原理

    我们直接写入可能无法执行 unsigned char data[130] = { 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x0C, 0xC7, 0x45, 0xF8, 0x00, ...

  10. Powershell编程基础-001-基本语法

    变量的定义:$a="abc"         变量的引用也是echo $a 注释: 1.单行注释:单行注释是在每行的开头键入井号#的注释. #符号右边的所有内容都将被忽略,也可以在 ...