此处主要记录关于常用日志的作用和用法
(一)二进制日志
主要用于数据备份
1)登入数据库,查看二进制日志是否打开 ,默认是OFF状态
show variables like '%log_bin%'
2)进入配置文件
vim /etc/my.cnf
添加以下参数
log-bin=mysql-bin
server_id=2 #id必须唯一
binlog_format=ROW
expire_logs_days=30 #日志保留30天
3)重启数据库
systemctl restart mysqld
4)登入数据库,此时二进制日志被打开,为ON状态
show variables like '%log_bin%'
5)查看所有二进制日志文件
show binary logs
查看当前所用的日志
show master status
6)查看二进制日志文件存放路径
show variables like '%log_bin%'
7)进入二进制日志文件的存放位置
cd 路径 #如:cd /var/lib/mysql
8)查看mysql二进制日志, mysqlbinlog 专用查看mysql二进制日志的命令
mysqlbinlog --no-defaults --base64-output=decode-rows -v 二进制日志文件名
如:mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000001
9)在mysql中删掉小于指定序号的二进制日志文件
purge master logs to 'mysql-bin.000006'
在mysql中删掉小于指定时间点的二进制日志文件的内容
purge master logs before '20221031'
10)刷新数据库日志,每次刷新都会生成新的日志文件
flush logs
(二)错误日志
记录错误执行语句
1)查看错误日志文件所在路径
show variables like 'log_error'
2)根据路径,查看错误日志文件
cat /var/log/mysqld.log
(三)慢查询日志
记录执行慢的语句
1)查看慢查询日志相关信息,默认慢查询日志为关闭
show variables like '%slow%'
2)打开慢查询日志
set global slow_query_log='ON'
3)若出现文件权限不够
chmod -R 777 文件路径 #如 chmod -R 777 /var/lib/mysql/localhost-slow.log
4) 查看日志内容
cat 文件路径 #如 cat /var/lib/mysql/localhost-slow.log
5)设置慢查询条件
在 my.cnf 配置文件中有 long_query_time=n,表示超出n秒会被认为是慢查询语句,没有就默认为10秒。