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

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

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

内容:

  1. flush-logs [log_type ...]
  2.  
  3. Flush all logs.
  4.  
  5. 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

二,创建日志分割后目录

  1. [root@yjweb logs]$ mkdir mysqllogsbackup

三,编写脚本

  1. [root@yjweb crontab]# vi split_mysql_logs.sh

内容:

  1. #!/bin/bash
  2. # 备份mysql的日志
  3.  
  4. # 昨天的日期
  5. file_date=$(date -d"1 day ago" +"%Y%m%d")
  6. echo ${file_date}
  7.  
  8. #mysql log的路径
  9. log_path_mysql=/data/mysql/log
  10.  
  11. #日志分割后的路径
  12. back_base=/data/logs/mysqllogsbackup
  13. user="root"
  14. passwd="demopass"
  15.  
  16. # ===================backup dir name========================
  17.  
  18. date_year=$(date -d"1 day ago" +"%Y")
  19. date_month=$(date -d"1 day ago" +"%m")
  20. date_day=$(date -d"1 day ago" +"%d")
  21. back_path=${back_base}/${date_year}/${date_month}/${date_day}
  22. echo ${back_path}
  23.  
  24. # ===================mkdir back_path========================
  25.  
  26. if [ -d ${back_path} ];then
  27. echo 目录已经存在,不能重复创建
  28. else
  29. mkdir -p ${back_path}
  30. fi
  31.  
  32. # =================== 备份mysql log ========================
  33.  
  34. cd ${log_path_mysql}
  35. for file in $(ls *log);
  36. do
  37. mv ${file} ${back_path}/${file_date}_${file}
  38. done
  39.  
  40. /usr/local/soft/mysql/bin/mysqladmin -u$user -p$passwd --socket=/data/mysql/var/mysql.sock flush-logs slow error

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

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

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

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

增加一行

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

查看效果:

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

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

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

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

  1. [root@yjweb ~]# cat /etc/redhat-release
  2. 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. git仓库个人和企业版新增仓库和成员

    1.首先要在本地安装一个git安装包,比如安装完之后路径是在      D:\Program Files (x86)\Git\bin\git.exe 2.访问git网址  https://gitee. ...

  2. xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持

    xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能 ...

  3. [LeetCode]695. 岛屿的最大面积(DFS/BFS)、200. 岛屿数量(DFS/BFS待做/并差集待做)

    695. 岛屿的最大面积 题目 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合.你可以假设二维矩阵的四个边缘都被 ...

  4. c#中的ReadOnlySequenceSegment<T>和ReadOnlySequenceSegment<T>

    关于.net core高性能编程中的Span<T>和Memory<T>网上资料很多,这里就不说了.今天一直在看ReadOnlySequenceSegment<T>和 ...

  5. doeker部署zabbix

    docker部署zabbix   我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控 部署环 ...

  6. 写一个简单的 Linux Shell (C++)

    这里可以找到代码 github.com/z0gSh1u/expshell 支持的特性 单条指令的执行 引号引起的参数(如 $ some_program "hello, world" ...

  7. JDK8在windows系统下安装

    一.下载 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK8 目前大部分公司内部使用的还是jdk ...

  8. golang defer 以及 函数栈和return

    defer 作为延迟函数存在,在函数执行结束时才会正式执行,一般用于资源释放等操作 参考一段代码https://mp.weixin.qq.com/s/yfH0CBnUBmH0oxfC2evKBA来分析 ...

  9. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...

  10. HAProxy安装配置

    概念 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...