错误日志的默认存放路径是 mysql 存放数据的地方 hostname.err
记录mysql数据库的一般状态信息及报错信息,是我们对于数据库常规报错处理的常用日志
记录mysql所有执行成功的SQL语句信息,可以做审计用,但很少开启
已提交的数据记录, 以event的形式记录到二进制文件中
① row 行模式,即数据行的变化过程 一般都是用这种② statement 语句模式 可能不准确 比如now()③ mixed: 以上两者的混合模式
备份恢复 复制
mysqlbinlog --base64-output=decode-rows -v my-bin.000002 mysqlbinlog --start-position=120 --stop-position=721 my-bin.000002 mysqlbinlog --start-position=340 --stop-position=721 my-bin.000002 >/tmp/binlog.sql
读取二进制日志 修复数据
source /tmp/binlog.log
默认情况下,不会删除旧的日志文件。 根据存在时间删除日志: SET GLOBAL expire_logs_days = 90; …或者… PURGE BINARY LOGS BEFORE now() - INTERVAL 3 day; 根据文件名删除日志: PURGE BINARY LOGS TO 'mysql-bin.000010'; reset master;
slow-log,记录所有条件内的慢的SQL语句优化的一种工具日志。帮我们定位问题。是将mysql服务器中影响数据库性能的相关SQL语句记录到日志文件通过对这些特殊的SQL语句分析,改进以达到提高数据库性能的目的。
[mysqld] slow_query_log=1 slow_query_log_file=/data/slow/slow.log long_query_time=0.5 log_queries_not_using_indexes
mysqldumpslow命令
mysqldumpslow -s c -t 10 /data/slow/slow.log mysqldumpslow -s at -t 10 /data/slow/slow.log
这会输出记录次数最多的10条SQL语句,其中: -s 是表示按照何种方式排序 c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序。 ac、at、al、ar,表示相应的倒叙。 -t 是top n的意思,即为返回前面多少条的数据;
转载于:https://www.cnblogs.com/augustyang/p/11528701.html
相关资源:mysql第六章.pdf