mysql日志滚动

1,查看log情况


代码如下:

mysql> show global variables like '%log%';
+---------------------------------+---------------------------------+
| Variable_name                   | Value                           |
+---------------------------------+---------------------------------+
| back_log                        | 50                              |
| binlog_cache_size               | 32768                           |
| binlog_format                   | MIXED                           |
| expire_logs_days                | 0                               |
| general_log                     | ON                              |
| general_log_file                | /usr/local/mysql/mysql.log      |
| log                             | ON                              |
| log_bin                         | ON                              |
| log_bin_trust_function_creators | OFF                             |
| log_bin_trust_routine_creators  | OFF                             |
| log_error                       | /var/log/mysqld.log             |
| log_output                      | FILE                            |
| log_queries_not_using_indexes   | OFF                             |
| log_slave_updates               | OFF                             |
| log_slow_queries                | ON                              |
| log_warnings                    | 1                               |
| max_binlog_cache_size           | 4294963200                      |
| max_binlog_size                 | 1073741824                      |
| max_relay_log_size              | 0                               |
| relay_log                       |                                 |
| relay_log_index                 |                                 |
| relay_log_info_file             | relay-log.info                  |
| relay_log_purge                 | ON                              |
| relay_log_space_limit           | 0                               |
| slow_query_log                  | ON                              |
| slow_query_log_file             | /usr/local/mysql/mysql-slow.log |
| sql_log_bin                     | ON                              |
| sql_log_off                     | OFF                             |
| sql_log_update                  | ON                              |
| sync_binlog                     | 0                               |
+---------------------------------+---------------------------------+
30 rows in set (0.00 sec)

上面主要有三个日志文件,mysql.log,mysqd.log,mysql-slow.log,除了mysqld.log不能通过mysqladmin flush-logs来刷新日志外,其他的都可以,mysqld.log是服务器启动程序mysqld产生的。

2,生成日志刷新用户


代码如下:

mysql> GRANT RELOAD ON *.* TO 'log'@'localhost' IDENTIFIED BY 'log';
Query OK, 0 rows affected (0.07 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

用root账户登录进去,添加一个log的用户。分开清楚一点。

3,日志滚动脚本,只保留一个星期的日志


代码如下:

[root@linux ~]# vim log.sh   //添加以下内容
#!/bin/sh
# log refresh
if [ -f $1 ];
then
    echo "refresh ok" 1>&2
else
    echo "log file do not exist;"
    exit 1
fi
LOG=$1
DB_USER="log"
DB_PASS="log"                                                                                                      
# Others vars
DATE=`date +%w`                                       
BIN_DIR="/usr/local/mysql/bin"
mv ${LOG} ${LOG}_${DATE}
${BIN_DIR}/mysqladmin  -ulog -plog flush-logs
添加可执行权限chmod +x log.sh

脚本很简单,不过有一点要解释一下,就是mv ${LOG} ${LOG}_${DATE},第一周会产生7个文件,第二周会覆盖上周的,星期一覆盖星期一,星期二覆盖星期二,以此内推。

4,日志滚动


代码如下:

[root@linux ~]# ./log.sh /usr/local/mysql/mysql.log
refresh ok
[root@linux ~]# ls /usr/local/mysql/ |grep mysql
mysql.log
mysql.log_1

(0)

相关推荐

  • lnmp下如何关闭Mysql日志保护磁盘空间

    LNMP一键包安装的Mysql默认开启Mysql日志,如果网站对数据库读写较为频繁的话可能会产生大量日志,并占用磁盘空间,还有可能导致VPS的硬盘闲置空间消耗满导致数据库无法开启. 本教程的路径适用于LNMP一键安装包环境,其它环境请根据实际情况操作. 若需要关闭,请执行以下操作: 一.修改文件配置 修改/etc/my.cnf,找到以下字符 复制代码 代码如下: log-bin=mysql-bin binlog_format=mixedbash 注释这两行,如下: 复制代码 代码如下: #log

  • mysql日志文件在哪 如何修改MySQL日志文件位置

    MySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/var/log/mysqld.log,下面就教您修改MySQL日志文件位置的方法,供您参考. 今天需要改MySQL日志文件的位置,发现在/etc/my.cnf中怎么也改不了. 后来发现MySQL日志位是指定的: [root@localhost etc]# ps aux|grep mysqld root 11830 0.5 0.0 4524 1204 pts/0 S 03:03 0:00 /bin/sh /usr/bin/mys

  • lnmp关闭mysql日志保护硬盘空间的方法

    下面先来分享一下,关闭mysql日志的方法 LNMP一键包安装的Mysql默认开启Mysql日志,如果网站对数据库读写较为频繁的话可能会产生大量日志,并占用磁盘空间,还有可能导致VPS的硬盘闲置空间消耗满导致数据库无法开启. 本教程的路径适用于LNMP一键安装包环境,其它环境请根据实际情况操作. 若需要关闭,请执行以下操作: 一.修改文件配置 修改/etc/my.cnf,找到以下字符 log-bin=mysql-bin binlog_format=mixedbash 注释这两行,如下: #log

  • Mysql日志文件和日志类型介绍

    日志文件类型 MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情: 日志文件 记入文件中的信息类型 错误日志 记录启动.运行或停止mysqld时出现的问题. 查询日志 记录建立的客户端连接和执行的语句. 更新日志 记录更改数据的语句.不赞成使用该日志. 二进制日志 记录所有更改数据的语句.还用于复制. 慢日志 记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询. 默认情况下,所有日志创建于mysqld数据目录中.通过刷新日志,你可以强制 mys

  • MySQL日志管理详解

    日志文件对于一个服务器来说是非常重要的,它记录着服务器的运行信息,许多操作都会写日到日志文件,通过日志文件可以监视服务器的运行状态及查看服务器的性能,还能对服务器进行排错与故障处理,MySQl中有六种不同类型的日志. 一.日志种类 ---–> 1,错误日志:记录启动.运行或停止时出现的问题,一般也会记录警告信息. ---–> 2,一般查询日志:记录建立的客户端连接和执行的语句. ---–> 3,慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询,

  • mysql日志滚动

    1,查看log情况 复制代码 代码如下: mysql> show global variables like '%log%';+---------------------------------+---------------------------------+| Variable_name                   | Value                           |+---------------------------------+--------------

  • MySQL日志的详细分析实例

    目录 前言 1.日志刷新操作 2.错误日志 3.一般查询日志 4.慢查询日志 5.二进制日志 5.1 二进制日志文件 5.2 查看二进制日志 5.2.1 mysqlbinlog 5.2.2 show binary logs 5.2.3 show binlog events 5.2.4 show master status 5.3 删除二进制日志 5.4 二进制日志的记录格式 5.5 二进制日志相关的变量 5.6 二进制日志定点还原数据库 总结 前言 官方手册:https://dev.mysql.

  • mysql日志系统redo log和bin log介绍

    首先,我们先来看看一次查询/更新语句流程图 本文会将重点放在执行器<->存储引擎之间的交互. mysql不是每次数据更改都立刻写到磁盘,而是会先将修改后的结果暂存在内存中,当一段时间后,再一次性将多个修改写到磁盘上,减少磁盘io成本,同时提高操作速度. mysql通过WAL(write-ahead logging)技术保证事务: 在同一个事务中,每当数据库进行修改数据操作时,将修改结果更新到内存后,会在redo log添加一行记录记录“需要在哪个数据页上做什么修改”,并将该记录状态置为prep

  • MySQL日志文件详解

    概述 日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等等.本文主要描述MySQL的各种日志文件. MySQL日志文件分类 1.错误日志(Error Log) 2.二进制日志(Binary Log & Binary Log Index) 3.通用查询日志(query log) 4.慢查询日志(slow que

  • MYSQL日志的正确删除方法详解

    本文详细讲述了MYSQL日志的正确删除方法.分享给大家供大家参考,具体如下: 1.查找: MySQL> show binary logs; +------+---–+ | Log_name | File_size | +------+---–+ | mysql-bin.000001 | 150462942 | | mysql-bin.000002 | 125 | | mysql-bin.000003 | 106 | +------+---–+ 2.删除bin-log(删除mysql-bin.00

  • 简介操作MySQL日志的一些方法

    我们可以在mysql的安装目录下看到mysql的二进制日志文件,如mysql-bin.000***等,很多人都不及时的处理,导致整个硬盘被塞满也是有可能的.这些是数据库的操作日志.它记录了我们平时使用的sql语句命令,即使这个sql语句没有被执行,也会被记录,它包括执行时间之类的都详细在案,其实 它的目的有两个:一是方便我们查错和恢复数据库:二是为了主从服务器之间同步数据用的,主从服务器上所有操作都记录在日志里,从服务器可以根据这些日志来进行相同的操作,确保主从两个同步. 查看mysql日志的命

  • MySQL日志维护策略汇总

    这几天要折腾mysql服务器,所以在网上搜罗了一些维护策略,然后自己总结实验,下面是我的总结经验和别人的一些建议. 日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:  日志文件:记入文件中的信息类型  错误日志:记录启动.运行或停止时出现的问题  查询日志:记录建立的客户端连接和执行的语句 二进制日志:记录所有更改数据的语句.主要用于复制和即时点恢复 慢日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询 事务日志:记录In

  • 对MySQL日志操作的一些基本命令总结

    MySQL日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是说用来记录mysql数据库的客户端连接状况.SQL语句的执行情况和错误信息等.当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复. 错误日志 在mysql数据库中,错误日志功能是默认开启的.并且,错误日志无法被禁止.默认情况下,错误日志存储在mysql数据库的数据文件中.错误日志文件

随机推荐