一、配置错误日志
1.打开配置文件:vim /etc/my.cnf
2.配置:log_error=存放错误日志的路径
3.重启数据库:service mysqld restart | systemctl restart mysqld
4.查看错误日志:select @@log_error;
二、配置二进制日志
1.打开配置文件:vim /etc/my.cnf
2.配置:server_id=6
3.配置:log_bin=存放日志的路径/mysql-bin(文件名前缀)
4.重启数据库
5.注意:如果数据库启动失败,则修改存放日志路径的权限:chown -R mysql.mysql 要修改的路径名称
6.查看binlog的记录模式:select @@binlog_format
7.参数说明:
(1) statement--->SBR:做什么记录什么,即SQL语句
(2) row--->RBR:记录数据行的变化(默认模式,推荐)
(3) mixed--->MBR:自动判断记录模式
8.查看命令:
(1) 查看日志是否开启:show variables like '%binlog%';
(2) 查看日志是否开启:show variables like '%log_bin%';
(3) 查看binlog的结束点:show binary logs;
(4) 查看当前正在使用的binlog:show master status;
(5) 查看binlog的事件:show binlog events in 'binlog文件名';
(6) 截取binlog:mysqlbinlog --start-position='要截取的binlog的开始的位置' --stop-position='要截取的binlog的结束的位置' 要截取的binlog的文件名 >> 文件名
9.通过binlogn日志恢复数据:
(1) 首先截取日志
(2) 临时关闭当前会话的binlog记录:set sql_log_bin=0;
(3) 导入截取的binlog日志:source 截取的binlog日志名;
(4) 打开当前会话的binlog记录:set sql_log_bin=1;
三、配置慢日志
1.查看命令:
(1) 查看慢日志是否开启:show variables like '%slow_query%';
(2) 查看慢日志的时间:
普通:select @@long_query_time; | show variables like 'long_query_time%';
全局:show global variables like 'long_query_time%';
2.临时开启慢日志:set global slow_query_log=1;(默认未开启,开启会影响性能,mysql重启后失效)
3.设置慢日志记录时间(阙值):set global long_query_time=时间数
4.永久开启慢日志:配置mysql的配置文件
(1) 打开配置文件:vim /etc/my.cnf
(2)配置以下参数:
slow_query_log=1 #慢日志开启
slow_query_log_file=你要存放慢日志的路径 #慢日志的路径
long_query_time=0.1 #慢日志的时间
log_queries_not_using_indeses=1 #使用索引记录查询
5.查看满请求的个数:show global status like '%slow_queries%';
6.慢日志的查看命令:mysqldumpslow 参数1,参数2... 慢日志文件名
参数:-s:表示安何种方式排序
-c:访问次数
-l:锁定时间
-r:返回记录
-t:查询时间
-al:平均锁定时间
-ar:平均返回记录数
-at:平均查询时间
-t:返回前面多少条的数据
-g:后边搭配一个正则匹配模式,大小写不敏感