阅读背景:

MySQL日志管理详解

来源:互联网 
MySQL日志管理详解

日志文件对于一个服务器来说是非常重要的,它记录着服务器的运行信息,许多操作都会写日到日志文件,通过日志文件可以监视服务器的运行状态及查看服务器的性能,还能对服务器进行排错与故障处理,MySQl中有六种不同类型的日志。

一、日志种类
	1、错误日志:记录启动、运行或停止时出现的问题,一般也会记录警告信息。
	2、一般查询日志:记录建立的客户端连接和执行的语句。
	3、慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询,可以帮我们定位服务器性能问题。
	4、二进制日志:任何引起或可能引起数据库变化的操作,主要用于复制和即时点恢复。
	5、中继日志:从主服务器的二进制日志文件中复制而来的事件,并保存为的日志文件。
	6、事务日志:记录InnoDB等支持事务的存储引擎执行事务时产生的日志。

MySQL中对于日志文件的环境比变量非常多,可以使用以下命令来查看:
	show global variables like '%log%';
结果如下:
	Variable_name				Value
	---------------------------------------------------------------
	back_log				50
	binlog_cache_size			32768
	binlog_direct_non_transactional_updates	OFF
	binlog_format				STATEMENT
	binlog_stmt_cache_size			32768
	expire_logs_days			0
	general_log				OFF
	general_log_file			C:\ProgramData\MySQL\MySQL Server 5.5\Data\WIN-19A0VNP9PVD.log
	innodb_flush_log_at_trx_commit		1
	innodb_locks_unsafe_for_binlog		OFF
	innodb_log_buffer_size			1048576
	innodb_log_file_size			25165824
	innodb_log_files_in_group		2
	innodb_log_group_home_dir		.\
	innodb_mirrored_log_groups		1
	log					OFF
	log_bin					OFF
	log_bin_trust_function_creators		OFF
	log_error				C:\ProgramData\MySQL\MySQL Server 5.5\Data\WIN-19A0VNP9PVD.err
	log_output				FILE
	log_queries_not_using_indexes		OFF
	log_slave_updates			OFF
	log_slow_queries			OFF
	log_warnings				1
	max_binlog_cache_size			18446744073709547520
	max_binlog_size				1073741824
	max_binlog_stmt_cache_size		18446744073709547520
	max_relay_log_size			0
	relay_log	
	relay_log_index	
	relay_log_info_file			relay-log.info
	relay_log_purge				ON
	relay_log_recovery			OFF
	relay_log_space_limit			0
	slow_query_log				OFF
	slow_query_log_file			C:\ProgramData\MySQL\MySQL Server 5.5\Data\WIN-19A0VNP9PVD-slow.log
	sql_log_bin				ON
	sql_log_off				OFF
	sync_binlog				0
	sync_relay_log				0
	sync_relay_log_info			0

二、日志功能
1、错误日志:错误日志主要记录如下几种日志:
	服务器启动和关闭过程中的信息
	服务器运行过程中的错误信息
	事件调度器运行一个事件时产生的信息
	在从服务器上启动从服务器进程时产生的信息

错误日志定义:
可以用–log-error [ = file_name ]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出–log-error选项,则不会重新命名)。
错误日志一般有以上两个变量可以定义:
	错误日志文件:log_error
	启用警告信息:log_warnings (默认启用)

show global variables like 'log_error';
	log_error  C:\ProgramData\MySQL\MySQL Server 5.5\Data\WIN-19A0VNP9PVD.err
show global variables like 'log_warnings';
	log_warnings	1

2、一般查询日志

启动开关:general_log={ON|OFF}
日志文件变量:general_log_file [ =/PATH/TO/file]
全局日志开关:log={ON|OFF}   该开关打开后,所有日志都会被启用
记录类型:log_output={TABLE|FILE|NONE}
log_output定义了日志的输出格式,可以是表,文件,若设置为NONE,则不启用日志,因此,要启用通用查询日志,需要至少配置general_log=ON,log_output={TABLE|FILE}。而general_log_file如果没有指定,默认名是host_name.log。由于一般查询使用量比较大,启用写入日志文件,服务器的I/O操作较多,会大大降低服务器的性能,所以默认为关闭的。MySQL日志管理详解

日志文件对于一个服务器来说是非常重要的,它记录着服务器的运行信息,许



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: