mysql日志

弱龄寄事外,委怀在琴书。这篇文章主要讲述mysql日志相关的知识,希望能为你提供帮助。
1.事务日志 (transaction log)

事务日志的写入类型为"追加",因此其操作为"顺序IO"; 通常也被称为:预写式日志 write ahead logging
事务日志文件: ib_logfile0, ib_logfile1

#事务型存储引擎自行管理和使用,建议和数据文件分卡存放
redo log
undo log

[root @ lvs ~]#ll /var/lib/mysql/
total 28700
-rw-rw---- 1 mysql mysql5242880 May 28 22:44 ib_logfile0 #事务日志文件
-rw-rw---- 1 mysql mysql5242880 May 28 22:44 ib_logfile1 #事务日志文件


#Innodb事务日志相关配置
MariaDB [(none)]> show variables like %innodb_log%;
+---------------------------+---------+
| Variable_name| Value|
+---------------------------+---------+
| innodb_log_block_size| 512|
| innodb_log_buffer_size| 8388608 |
| innodb_log_file_size| 5242880 | #每个日志文件大小
| innodb_log_files_in_group | 2| #日志组成员个数
| innodb_log_group_home_dir | ./| #事务文件路径
+---------------------------+---------+


MariaDB [(none)]> show variables like %innodb_flush%;
+--------------------------------+-------+
| Variable_name| Value |
+--------------------------------+-------+
| innodb_flush_log_at_trx_commit | 1| #[默认值为1]设置为1,同时sync_binlog为1,表示最高级别的容错
| innodb_flush_method||
| innodb_flush_neighbor_pages| area|
+--------------------------------+-------+
innodb_use_global_flush_log_at_trx_commit 的值确定是否可以使用set语句重置innodb_flush_log_at_trx_commit该变量


MariaDB [(none)]> show variables like %sync_binlog%;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| sync_binlog| 0| #不仅影响到binlog对Mysql所带来的性能损耗,而且还影响到mysql中数据的完整性
+---------------+-------+


MariaDB [(none)]> show variables like %flush_log%;
+-------------------------------------------+-------+
| Variable_name| Value |
+-------------------------------------------+-------+
| innodb_flush_log_at_trx_commit| 1|#设置为1,同时sync_binlog = 1表示最高级别的容错
| innodb_use_global_flush_log_at_trx_commit | ON|#确定是否可以使用SET语句重置innodb_flush_log_at_trx_commit变量
+-------------------------------------------+-------+
innodb_flush_log_at_trx_commit值可设置如下:
0 提交时没有任何操作,而是每秒执行一次日志缓冲区写入和刷新。这样可以提供更好的性能,但服务器崩溃可能丢失最后一秒的事务
1 默认情况下,日志缓存区将写入日志文件,并在每次事务后执行刷新到磁盘,这是完全遵守ACID特性
2 每次提交后都会写入日志缓冲区,但每秒都会进行一次刷新。性能比0略好一些,但操作系统或停电可能导致最后一秒的交易丢失
3 模拟MariaDB 5.5组提交(每组提交3个同步) 此项MariaDB 10.0支持

【mysql日志】
2.错误日志(error log)
#错误日志类型:
mysqld启动和关闭过程中输出的事件信息
mysqld运行中产生的错误信息
event scheduler运行一个event时产生的日志信息
在主从复制架构中的从服务器上启动从服务器线程时,产生的信息

#错误日志相关配置
MariaDB [(none)]> show global variables like log_error;
+---------------+------------------------------+
| Variable_name | Value|
+---------------+------------------------------+
| log_error| /var/log/mariadb/mariadb.log |
+---------------+------------------------------+
1 row in set (0.00 sec)
[root @ lvs ~]#ll/var/log/mariadb/mariadb.log
-rw-r----- 1 mysql mysql

    推荐阅读