Linux系统:CentOS7
mariadb:10.2.37
安装方式:命令安装 yum install
1. 通用日志
general log 记录数据库的通用操作,包括错误的sql语句。
show variables like 'general%'
# general_log_file=/data/logs/general.log
默认关闭[off],此处笔者已在配置文件中打开。
也可将日志输出到表中,默认数据库mysql带有general_log 表。
# 配置文件中修改
log_out=table
2. 错误日志
error log,记录错误信息输出。
show global variables like 'log_error'
路径可在配置文件中定义,添加
log_error=/path/to/log_file_name
3. 事务日志
transaction log,顾名思义记录事务操作的日志。
查看事务日志相关配置
show variables like '%innodb_log%';
# innodb_log_file_size 定义日志文件大小
# innodb_log_files_in_group 生成对应几个日志文件,记录日志时,在对应几个日志文件中轮询记录。
# innodb_log_group_home_dir 日志文件的路径
日志文件最好是和数据库分开存放,单独磁盘,比如:更改日志默认路径到/data/logs存放。
vi /etc/my.cnf.d/server.cnf
# 在mysqld 下增加
innodb_log_group_home_dir=/data/logs
mkdir /data/logs
chown mysql.mysql /data/logs
systemctl restart mariadb
对应路径下生成
4. 二进制日志
slow query log 记录数据库的增删改,依托备份,根据二进制日志,可重放数据库的修改。
sql_log_bin #默认启用
log_bin=/path/to/file # 定义路径
# 以上两参数都启用即启用。
5. 慢查询日志
slow query log 记载查询时间长记录,可定义时间。
show variables like 'long%'
# 启用
slow_query_log
# 修改时间
long_query_time=xx
默认10s