数据库日志


mariadb配置文件在/etc/my.cnf.d/server.cnf下

查询日志

查询日志会记录每一条sql语句,一般不会开启,因为绝大多数sql语句都是正常的,并没有分析的价值,我们没有必要将其记录下来,而且当访问量较大时,记录全部sql语句会占用大量数据库资源,影响数据库性能

general_log=0是否启用查询日志,0表示不启用,1表示启用
general_log_file general.log定义查询日志的路径,相对路径默认在/var/lib/mysql下
log_output NONE查询日志的存储形式,可选择TABLE,FILE,NONE

慢查询日志

相较于查询日志,慢查询日志更为实用。慢查询日志不再记录占绝大多数的正常sql语句,而是只记录执行时间超过某一阈值的sql语句,这些语句都有分析价值,通过分析这些不正常的sql语句来优化数据库查询。

slow_query_log=1是否开启慢查询日志
slow_query_log_file=slowquery.log定义慢查询日志的路径
long_query_time=15设置阈值,执行时间超过此阈值的sql语句将被记录
log_slow_verbosity=1是否详细记录
log_slow_rate_limit=2当出现大量需要被记录的sql语句时,为了不影响数据库性能,规定1秒只记录多少条

错误日志

错误日志记录的是:

  • mysql启动和关闭中输出的信息
  • mysql运行中产生的错误信息
  • 运行事务时产生的日志信息
  • 主从架构数据库的从库启动从库线程时产生的信息
log_error=error.log指定错误日志输出路径
log_warnings=20表示不写入,1表示只写入错误信息不写入告警信息,2表示写入告警信息(默认为2)

二进制日志

二进制日志应对时间点还原

log_bin=1是否启用二进制日志
log_bin=mysql-bin指定二进制日志名称格式
binlog_format=MIXED二进制日志记录格式
sync_binlog=1是否启用二进制日志同步功能
max_binlog_size=2G单个二进制文件最大体积,默认2G
expire_logs_days=0清除多少天前的二进制文件,0表示不清除

二进制日志会议编号的形式滚动命名并保存

二进制滚动
flush logs刷新日志
文件超出指定大小
systemctl restart mariadb重启数据库
-rw-rw---- 1 mysql mysql      345 9月   2 18:47 bin.000001
-rw-rw---- 1 mysql mysql      322 9月   2 18:47 bin.000002
二进制文件记录格式
STATEMENT基于语句记录
ROW基于行记录
MIXED由系统自行判断由哪种方式记录
二进制日志构成
日志文件mysql-bin.000001
索引文件mysql-bin.index
-rw-rw---- 1 mysql mysql      328 9月   2 18:52 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 9月   2 18:52 mysql-bin.index

事务日志

大多数数据库都支持事务,其实事务是基于事务日志实现的。
使用事务日志时,存储引擎在修改表的数据时只修改数据在内存中的拷贝,再把修改行为记录到事务日志中,而不用每次都将修改的数据写到硬盘。而且,事务日志采用追加方式,写日志实在硬盘上一小块区域内的顺序读写,不需要随机读写那样在硬盘的多个地方移动磁头,这样的速度要快得多。事务日志里的数据可以在数据库业务不繁忙的时候再慢慢写到硬盘,这就是预写式日志。

innodb_log_group_home_dir=/var/lib/mysql/事务日志所在路径,默认就在/var/lib/mysql下
innodb_buffer_pool_size=500M缓冲池大小,一般占到物理内存的3/4或4/5
innodb_log_files_in_group=2事务日志文件个数,默认为2
innodb_log_file_size=48M事务日志文件单个大小

中继日志

中继日志主要用在搭建主从数据库集群时,从库需要从中继日志读取才能和主库数据保持一致。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值