1.错误日志(error log): 记录mysql服务进程mysqld在启动和停止或运行过程中遇到的错误信息 开启错误日志: [mysqld_save] log_error=/path/to/log.file ###日志文件存储路径 2.查询日志(query log): 普通查询日志(general query log):记录客户端连接信息和执行的sql语句信息 show variables like ‘genreal%’; ###查看genreal_log是否开启 set global general_log=ON 临时开启,重启服务后失效 ###一般不开启此日志,当查询数据过多时,会造成数据库服务器I/O压力。 慢查询日志(slow query log):记录执行时间超出指定(long_query_time)的sql语句 开启慢查询日志: [mysqld] long_query_time =1 ###记录查询时间超过1秒的查询 log_slow_queries= /path/to/log.file ###日志文件存储路径 log_queries_not_using_indexes ###将未使用索引的查询记录到日志中 3.二进制日志(binary log): 记录数据被修改的相关信息 log_bin=ON ###开启mysql的binlog日志 sql_log_bin=ON ###临时不记录binlog日志 binlog的三种模式: 3.1 Statement Level 模式 每一条修改数据的sql都会记录到master的binlog中,slave在复制的时候sql进程都会解析和成master端执行过的相同的sql来再次执行。 3.2 Row Level 模式 日志中会记录成每一行数据被修改的形式,然后再在slave端对相同的数据进行修改。 3.3 Mixed 模式 是前两种模式的结合,mysql会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也是在Statement 和Row之间选择一种。 调整模式的方法: show variables like ‘binlog_format’; ###查看当前的模式 修改my.cnf配置文件 [mysqld] binlog_format=’ROW|MIXED|STATEMENT’ 运行时在线生效 set session binlog_format=’ROW|MIXED|STATEMENT’ 全局生效 set global binlog_format=’ROW|MIXED|STATEMENT’