MySQL数据库日志总结(二)中,有哪些可以提出?

摘要:日志信息滚动切割 在应用binlog日志过程中,经常需要对日志文件进行日志切割(滚动更新),可以有效避免日志文件数据量过大问题; 在某些场景中,如果需要对binlog日志文件进行备份操作时,也可以对原有使用的binlog日志文件进行滚动更新
日志信息滚动切割 在应用binlog日志过程中,经常需要对日志文件进行日志切割(滚动更新),可以有效避免日志文件数据量过大问题; 在某些场景中,如果需要对binlog日志文件进行备份操作时,也可以对原有使用的binlog日志文件进行滚动更新; 常用的日志滚动更新方法: # 方法一: mysql> flush logs; -- 滚动更新前的日志文件就会处于静止状态,不会在进行数据信息的更新 # 方式二: [root@cheng ~ ]# mysql -uroot -p123456 flush-logs # 方式三: mysql> restart; -- mysql 8.0之后支持的数据库中重启服务;之前的版本只支持shutdown关闭数据库; [root@cheng ~ ]# /etc/init.d/mysqld restart # 方式四: mysql> select @@max_binlog_size; +--------------------------+ | @@max_binlog_size | +--------------------------+ | 1073741824 | +--------------------------+ -- 配置binlog日志最大数据存储量,默认大小为1G,到达最大日志存储量也会进行自动切割; 日志信息清理方法 在系统中日志信息,随着时间的推移将会越来越多,将严重占用磁盘空间,因此需要对日志做相应清理工作; 对于日志信息常用的清理方式有两种: 方式一:进行日志信息自动清理 mysql> show variables like '%expire%'; +-------------------------------------+-----------+ | Variable_name | Value | +-------------------------------------+-----------+ | binlog_expire_logs_seconds | 2592000 | | expire_logs_days | 0 | +-------------------------------------+-----------+ 3 rows in set (0.00 sec) -- 在最新数据库8.0中,可以以秒为单位进行日志信息清理,默认是30天进行日志清理,或者也可以以天为单位进行清理; -- 在最先数据库8.0前,主要是以天为单位进行清理,但默认清理功能并未激活; -- 在企业实战环境中,建议过期时间最少保留一轮全备周期以上,有条件最好是保留两轮+1; 方式二:进行日志信息手工清理 mysql> help purge binary logs; -- 获取清理日志命令帮助信息 mysql> purge binary logs to 'mysql-bin.010' -- 删除到指定日志文件前结束 mysql> PURGE BINARY LOGS BEFORE '2025-12-02 22:46:26'; -- 可以基于日志时间点信息进行日志清理 说明:在对数据库服务日志信息进行清理时,最好使用数据库服务自带的清理工具进行清理,不建议使用rm做日志清理; 日志信息远程备份: 可以实现将数据库中(特别是主库)生成的binlog日志文件,及时备份保存到专门的日志备份服务器中,并且整个备份操作都是在线的; [root@cheng-01 ~]# mkdir -p /binlog_backup [root@cheng-01 ~]# cd /binlog_backup/ [root@cheng-01 binlog_backup]# mysqlbinlog -R --host=192.168.30.101 --user=root --password=123456 --raw --stop-never binlog.000008 & -- 备份过程可以放后台一直运行,但是需要注意当连接的数据库服务器停止或重启了,也会导致备份中断; # 数据库服务多实例情况binlog日志备份 mysqlbinlog -R --host=10.0.0.51 -P 3306 --user=root --password=123456 --raw --stop-never binlog.000002 & mysqlbinlog -R --host=1
阅读全文