mysql有几种日志格式

嗯... mysql5 .5 ... 那个时候啊... 日志有好几种...
首先啊... 错误日志... 就是 errorlog... 这个一般都会有的... 存放路径通常是 log-err...
然后呢... 查询日志... generalquerylog... 这个是记录所有查询的... 不过默认一般不开启... 太占空间...
慢查询日志... -log-slow-queries... 这个是记录执行时间超过某个阈值的查询... 也是需要手动设置的...
还有二进制日志... binarylog... 这个很重要... 记录所有数据变动... 用于备份和恢复... 同样需要手动开启... 路径是 log-bin...
中继日志... relaylog... 这个是用于主从复制的... 从服务器用来重放主服务器的二进制日志... 一般也是需要手动配置的...
innodb在线redo日志... 这个是在内存里的... 用来保证数据库的持久性... 默认是开启的... 一般不用管...
我当时也懵... 这些日志啊... 默认情况下... 可能没有启动任何log... 都需要用 log 选项来启动相关的log... 比如 log-error, log-general-query-log, log-slow-queries, log-binary-log... 具体参数得看配置文件...
我后来才反应过来... 开启查询日志... 可能会导致性能下降... 因为啥都记录... 开启慢查询日志... 才能找到性能瓶颈...
可能我偏激... 但备份的话... 二进制日志是必须的... 2 02 2 年那个时间... 数据量越来越大... 一个不小心就丢数据... 特别是某个城市... 比如上海... 那个量... 几百G... T级别的... 没有二进制日志... 后果不堪设想...
总之... 日志啊... 一定要搞清楚... 开启哪个... 关闭哪个... 什么时候开启... 什么时候关闭... 2 02 2 年... 那些运维... 可都是这么过来的... 一点点摸索... 一点点总结...

mysql日志文件在哪

诶,听你说mysql日志的事...上周帮我查数据库问题的时候碰到过。
你总结得挺清楚的哈。

我补充个细节吧,我上次在广州给客户调优的时候发现,打开通用日志对性能影响还挺明显的,特别是数据量上千万的时候。
所以有时候权衡利弊也得考虑下服务器配置。

不过你说的没错,要开启这三种日志,确实都是在my.cnf里加参数。
比如错误日志就是log_error,通用日志是log,慢查询是slow_query_log。
重启服务是必须的,不然新配置不生效。

你记着把配置文件备份一下,特别是生产环境,万一写错了参数搞不定就麻烦了。
重启服务的时候留意下状态,有时候会卡几秒。

【mysql】binlog、redo log、undo log

1 . 二进制日志(binlog)是记录所有SQL变更的日志,用于数据恢复和复制。
2 . STATEMENT格式记录SQL语句,ROW格式记录每行变更,MIXED是两者结合。
3 . 主从复制时,Master记录binlog,Slave读取执行。
4 . binlog不记读操作,MySQL 8 可加密,非活动日志按天清理。
5 . redolog是InnoDB的持久化日志,记录数据页变更,保证事务持久性。
6 . redologbuffer先写内存后写磁盘,通过参数控制写时机。
7 . undolog是回滚日志,记录变更的逆向操作,保证事务原子性。
8 . MySQL事务靠redolog和undolog确保数据一致性和完整性。

你自己掂量。