10.8、mysql日志
mysql生成或相关联的日志文件种类繁多,这里重点关注与mysql数据库服务相关
的几类日志文件:
1、错误日志:
记录mysql服务进程mysql的在启动/关闭/运行过程中遇到的错误信息;
[mysqld_safe]
log-error=/data/3306/mysql.err
2、查询日志:
(1)普通查询日志:
记录客户端连接信息和执行的sql语句信息;
[mysqld]
#general_log = ON
#将所有到达MySQL Server的SQL语句记录下来,默认关闭
#general_log_file = /data/3306/data
#general_log,默认在数据库的data目录下;
(2)慢查询日志:
记录执行时间超出指定值(log_query_time)的sql语句;
[mysqld]
slow_query_log = ON
long_query_time = 2
slow_query_log_file = /data/3306/mysql-slow.log
#log-queries-not-using-indexes
#如果运行的SQL语句没有使用索引,mysql会将这条SQL语句记录到慢查询日志文件中。
3、二进制日志:
binlog日志是用来记录mysql内部增删改等对mysql数据库有更新内容的记录;
mysql-bin.index是binlog日志的索引文件,是所有的binlog文件都记录在该文件中;
[mysqld]
log-bin = /data/3306/mysql-bin
#打开mysql的binlog日志;
max_binlog_size = 512M
#binlog的最大值是多少;
expire_logs_days = 7
#超过7天的binlog会被删除;
mysql> show variables like '%log_bin%';
sql_log_bin ON
#一般打开log-bin就打开了sql_log_bin记录功能,使用set global sql_log_bin=off时
临时不记录binlog开关,用于增量恢复时不记录某个时间点的binlog;
3 rows in set (0.01 sec)
(1)二进制的三种模式:
1)语句级:
statement(默认),包含的是原始的sql语句;
2)行级:
row,包含的是行的更改信息;
3)混合级:
mixed,前两种模式的结合,mysql根据实际开销情况选择到底选择哪种二进制模式;
4)修改binlog模式的方法:
配置文件修改my.cnf:
[mysqld]
binlog_format = mixed #row,statement
在线修改:
set session binlog_format = mixed; #当前窗口有效,退出无效;
set global binlog_format = mixed; #全局有效;
5)查看binlog日志的方法:
binlog日志模式为row或者时statement时使用‘mysqlbinlog /data/3306/mysql-bin.000007’命令查看;
binlog日志模式为mixed时,使用‘mysqlbinlog --base64-output=decode-rows -v /data/3306/mysql-bin.000007’命令查看;
6)查看binlog的pos点:
show master logs; #查看binlog文件和对应的pos点的列表;
show master status; #查看当前binlog文件和对应的pos点;
7)对日志文件进行切割的手动方法:
mysqladmin -uroot -p123456 flush-log
因为mysql会把数据库中的所有对库的更改操作放到二进制文件binlog中,相当于mysql的备份,那么备份点
之前的binlog就没有用了所以要刷新binlog,方便增量恢复数据;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!