日志
事务日志: transaction log
中继日志: reley log错误日志: error log
通用日志: general log
慢查询日志: slow query log
二进制日志: binary log
事务日志
transaction log:事务型存储引擎自行管理和使用
在一个事务提交后还没有存到磁盘的情况下会记录到事务日志,这个时候如果系统断电,再次开机后会自动将已提交的事务重做(redo log)写入磁盘;如果事务还没有提交的情况下断电重启后会执行撤销操作(undo log)
相关变量
innodb_log_file_size默认大小为5M,innodb_log_files_in_group个数默认2个;强烈建议调大这俩个值;
如果事务操作的数据大于事务日志文件总大小,在执行ROLLBACK时:可以撤销,但是数据文件会被占用,需要使用OPTIMIZE TABLE命令来释放数据空间;
使用TRUNCATE删除表记录可以缩小占用空间,DELETE命令不会释放磁盘空间,如果需要释放需要使用OPTIMIZE命令从新整理碎片来释放空间。
注意:修改innodb_log_file_size时需要先删除原来的日志文件
错误日志
错误日志中记录项目:
mysqld启动和关闭过程中输出的事件信息
mysqld运行中产生的错误信息
event scheduler运行一个event时产生的日志信息
在主从复制架构中的从服务器上启动从服务器线程时产生的信息
相关变量
log_warnings=1|0 默认值1(是):是否记录警告信息至错误日志文件
查询日志
记录用户的操作日志,一般不建议启用
MariaDB [hellodb]> SHOW VARIABLES LIKE 'log_output';+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output | FILE | # 以什么方式存放日志,(TABLE|FILE|NONE)+---------------+-------+
mysql.general_log:表存放查询日志,前提是以表方式存放的
慢查询日志
记录执行查询时长超出指定时长的操作
MariaDB [hellodb]> show variables like 'slow_query%';+---------------------+------------------+
| Variable_name | Value |
+--------------