MySQL中general日志定时切割

2023-11-15

创建历史日志保存目录

/data/log/hislog

准备日志切割脚本

more /home/mysql/scripts/cut_general_log.sh
#!/bin/bash
setEnv()
{
    USER=root
    USER_PWD=123456
    SOCKET=/tmp/mysql.sock
    TIME=`date +"%Y%m%d%H%M"`
    GENERAL_LOG=/data/log/node1.log
    GENERAL_LOG_HIS=/data/log/hislog
}
cutLog()
{
    if [ ! -d $GENERAL_LOG_HIS ];then
        mkdir -p $GENERAL_LOG_HIS
    fi
    mv $GENERAL_LOG $GENERAL_LOG_HIS/node1.log.${TIME}
    /usr/local/mysql/bin/mysqladmin -u$USER -p$USER_PWD  --socket=$SOCKET flush-logs general
    cd $GENERAL_LOG_HIS
    tar -zcvf node1.log.${TIME}.tar.gz node1.log.${TIME} --remove-files
}
setEnv
cutLog

#不要忘记添加执行权限
chmod +x /home/mysql/scripts/cut_general_log.sh

创建定时任务

crontab -e
00 00 * * * /home/mysql/scripts/cut_general_log.sh
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL中general日志定时切割 的相关文章

  • 如何将 MySql 表导出/转储到文本文件中,包括字段名称(也称为标题或列名称)

    在 MySql 的解释器中 很容易将表及其字段名称转储到屏幕上 似乎没有简单的方法可以将表导出到制表符分隔或 CSV 输出文件包括它的列标题 我尝试仅使用 SQL 或 Linux 命令行来完成此操作 而不用其他语言编写程序 谢谢 将查询通过
  • 如何让MySQL数据库完全在内存中运行?

    我注意到我的数据库服务器支持内存数据库引擎 我想让一个已经运行 InnoDB 的数据库完全在内存中运行以提高性能 我怎么做 我探索了 PHPMyAdmin 但找不到 更改引擎 功能 假设您了解注释中提到的使用 MEMORY 引擎的后果 并且
  • WHERE 子句或 ON 子句中的 INNER JOIN 条件?

    我今天输错了一个查询 但它仍然有效并给出了预期的结果 我的意思是运行这个查询 SELECT e id FROM employees e JOIN users u ON u email e email WHERE u id 139840 但我
  • MySQL 中如何使用继承?

    所以我正在读一本关于数据库设计原理的书 并读到了有关继承的章节 但我对如何在 MySQL 中将子类与其超类 连接 感到困惑 The table structure would for example look like this 那么我如何
  • 为什么运行 docker 容器后 mysql 数据所有权更改为 systemd-journal-remote

    我的mysql数据库存储在 home mysql代替 var lib mysql 该目录曾经属于mysql 但是 当我运行命令时docker compose up使用这个 yml 文件 version 3 services mariadb
  • 将数据从 CSV 文件导入 MySQL,科学记数法

    我正在使用 LOAD DATA INFILE 从 CSV 读取数据并将其插入到 MySQL 表中 问题在于 CSV 中的一列采用科学记数法 当读取该列并将其加载到表中时 它不会进入 DOUBLE FLOAT 或 REAL 类型的列 有针对这
  • Eloquent 使用远程 MySQL DB 花费太长时间

    我正在开发一个 Web Laravel 和 iOS 应用程序 它们都从我也在使用 Laravel 开发的 REST API 中使用 API 从 AWS RDS 实例托管的 MySQL 数据库进行查询 当我在本地主机上设置API和应用程序 并
  • 将所有 PHP 错误输出到数据库而不是 error_log

    是否可以将所有 PHP 错误写入 MySQL 而不是标准的 error log 文件 我想如果我从头开始编写自己的错误处理程序 这是可能的 但我有很多遗留代码 理想情况下我只需进行 1 个全局更改即可 这可以做到吗 我认为如果不构建自己的错
  • MySQL 在 Windows 上将数据库文件存储在哪里以及文件的名称是什么?

    我不小心格式化了硬盘并重新安装了 Windows 却忘记备份 MySQL 服务器中的重要数据库 我现在正在尝试使用某些软件来挽救文件 但我不知道要寻找什么 文件存储的路径是什么 文件的名称是什么 我应该查找什么命名约定或文件扩展名 我相信我
  • 如何确定选择哪个数据库

    有没有办法稍后输出当前选择的数据库的名称 只需使用 mysql query 或 mysqli query 甚至更好 或者最好使用 PDO SELECT DATABASE 附录 对于是否可以进行很多讨论FROM DUAL是否应包含在其中 在技
  • 我的 PHP 脚本如何判断服务器是否繁忙?

    我想运行一个 cron 作业来进行清理 需要大量的 CPU 和 Mysql 资源 我希望它仅在服务器不相对繁忙时运行 从 PHP 中确定这一点的最简单方法是什么 例如 是否有一个查询返回最后一分钟完成了多少个查询 if function e
  • 检查行是否存在,Laravel

    我有以下数据库结构 items id name user id users table id name user favorites table id user id item id 在我的项目永久链接页面上 我有一个 添加到收藏夹 按钮
  • MySQL Socket 在数千个连续连接后拒绝连接

    我目前正在尝试在当前 Ubuntu 机器上填充 MySQL5 1 数据库 其中包含超过 5 000 000 个条目 由于程序的体系结构 对于每个 INSERT 语句 都会打开和关闭一个新的数据库连接 我知道这是一项昂贵的操作 但更改此操作需
  • XAMPP、PROFTPD问题

    我已经在 macOS Mojave 上安装了 XAMPP 当我运行此命令 sudo Applications XAMPP xamppfiles xampp start 时 我收到以下错误 启动 Mac OS X 7 2 10 0 的 XAM
  • 如何在会话过期后自动更新数据库而不刷新我的页面

    您需要刷新或单击该代码 然后它才会转到索引页面 并且在会话过期后更新数据库之前 如何让会话过期后自动更新数据库 使用户活跃度为0 而无需刷新或点击页面 idletime 3600 after 1hr the user gets logged
  • 检查 Laravel 模型是否已保存或查询是否已执行

    我见过很多人使用这种方式来检查 Laravel 模型是否已保存 所以现在我想知道这是否是一种安全的方法 我还可以检查下面的查询是否像这样执行 检查模型是否已保存 Eg myModel new User myModel gt firstnam
  • 致命错误:在非对象上调用成员函数 FetchRow()

    这是我的错误消息致命错误 Call to a member function FetchRow on a non object in C AppServ www hfix include care api classes class min
  • Hibernate统计打印HQL:null

    我是使用休眠的新手 我打开了统计信息 与普通的 HQL 查询一起 我得到了许多这样的统计信息 INFO Statistics HQL null time 1724ms rows blah 有人可以以任何方式帮助我为什么null查询大约需要
  • 如何修复在 AWS RDS 上锁定表名称创建 (errno: -1) 的 InnoDB 损坏?

    TIP Do not run ALTERMySQL Workbench 中用于 标准 TCP IP over SSH 连接的语句 最好是进入服务器并运行ALTER从那里 这样 如果您失去与服务器的连接 ALTER仍应完成其工作 我正在尝试在
  • 从条件表中获取 WHERE 子句的条件

    我创建了以下简单的DataModel 我用以下数据填充了表格 1 桌子Customer INSERT INTO test customer CustomerName Country RegistrationDate VALUES Custo

随机推荐