所有可以在命令行里给出的长选项都可以去掉前面的两个"-"应用在配置文件中,每行一个。
配置文件规则:
#或者;代表注释
[group]
group是要应用选项的程序或者组的名称, 如果group名和程序名相同,则选项应用到对应的程序上,比如[mysqld], [mysql],[client]是一个组,被所有的客户端程序读取。
opt_name
等价于命令行里的 --opt_name
opt_name=value
等价于--opt_name=value
全局变量 log_output控制日志输出位置,可以为table,file,none,可以指定多个,以逗号分隔
日志分类
Error log(错误日志)
记录服务器启动,运行或者停止的过程中发生的错误。
log-error=/var/log/mysqld.log
log_error系统变量控制错误日志输出位置,可选的值为 stderr或者文件名
General query log(查询日志)
在运行时改变日志状态,系统变量general_log控制查询日志是否开启,set GLOBAL general_log=0关闭,1开启,系统变量general_log_file指定查询日志的名称。变量sql_log_off控制当前会话是否开启查询日志
Binary log(二进制日志)
二进制日志记录数据库变化,包括数据表变化和表中数据变化。二进制日志可以用作两个目的,一是从服务器使用,主服务器可以把数据变化发送给从服务器,保持数据同步。二是数据恢复,当服务器数据意外丢失时可以使用二进制日志恢复数据。mysql在二进制日志的名称后面追加一串数字作为后缀,每次刷新日志或者启动日志,或者日志文件的大小达到max_binlog_size的时候,mysql创建一个新的二进制日志文件,为了追踪所有使用过的二进制日志的名称,mysql同时会创建以index结尾的二进制日志索引文件。
三种二进制日志的格式:基于语句的,基于行的,混合语句和行的。
set global binlog_format = 'statement'| 'row'| 'mixed'
系统变量log_bin和log_bin_basename控制二进制日志
Relay log(中继日志)
接受服务器的二进制日志,用作数据同步
Slow query log(慢查询日志)
记录执行时间超过long_query_time所指定的时间的语句,系统变量slow_query_log(0代表关闭,1代表开启)和slow_query_log_file控制慢查询。
DDL log
或者叫元数据日志(metadata),记录由ddl语句产生的元数据操作,只有在必要的时候才会有这个日志,并且会在下一次服务器成功启动时移除,无法配置。
配置文件配置方法:
log-output=FILE
general_log=ON
general_log_file = /var/log/sql_general.log
slow_query_log=ON
slow_query_log_file=s/var/log/sql_slow.log
long_query_time=1
log-bin=/var/log/mysql/sql_bin.log
binlog_format=statement
log-error=error
server-id=1
查看当前日志配置
show VARIABLES like '%log%';