>show variables like 'general_log'; # 查看日志是否开启
>set global general_log=on; #开启日志功能
>show variables like 'general_log_file'; #看看日志文件保存位置
>set global general_log_file='/data/mysql/general_log_file/general_log_file.log'; #设置日志文件保存位置
show variables like 'log_output'; #看看日志输出类型 table或file
set global log_output='table'; # 设置输出类型为 table
set global log_output='file'; #设置输出类型为file
show variables like '%log%'; #查询mysql相关日志信 息
永久生效
my.cnf
general-log=1
general_log_file = /data/mysql/general_log_file/general_log_file.log
因为量大,可以写个计划任务,每1小时运行一次
#!/bin/bash
SOFTROOT=/data/mysql/general_log_file
BAKLOGPATH=$SOFTROOT/general_log`date +%Y%m%d`
if [ ! -d $BAKLOGPATH ]; then
mkdir -p $BAKLOGPATH/
chown -R mysql:mysql $BAKLOGPATH
fi
cp -r $SOFTROOT/general_log_file.log $BAKLOGPATH/general_log_file.log.`date +%Y%m%d-%H\:%M\:%S.log`
echo "" > $SOFTROOT/general_log_file.log
find /data/mysql/general_log_file/ -mtime +2 -name "general_log20*" -type d -exec rm -rf {} +
0 * * * * /usr/src/sh/generall-log.sh
注:
1、日志加入grafana时,语法为:
{job="mysql-log", filename="/data/mysql/general_log_file/general_log_file.log"} |~ `Prepare|Connect||Execute|Query|Quit` != `select` != `SELECT`