清理MySQL数据

1、清理binlog日志

测试过程中如果产生了大量binlog日志,如下:

901M mysql-bin.000015

903M mysql-bin.000016

901M mysql-bin.000017

901M mysql-bin.000018

901M mysql-bin.000019

901M mysql-bin.000020

901M mysql-bin.000021

901M mysql-bin.000022

903M mysql-bin.000023

901M mysql-bin.000024

901M mysql-bin.000025

901M mysql-bin.000026

901M mysql-bin.000027

903M mysql-bin.000028

901M mysql-bin.000029

903M mysql-bin.000030

901M mysql-bin.000031

901M mysql-bin.000032

901M mysql-bin.000033

可以使用如下命令删除binlog日志:

sql 复制代码
-- 'mysql-bin.000033' 根据实际情况修改
-- 会删除mysql-bin.000033之前的binlog日志
PURGE BINARY LOGS TO 'mysql-bin.000033';

2、清空表数据

如果表数据量较大,需要保留其中一些记录,删除剩余数据,可以使用如下命令实现:

表名:t_app

条件:保留 app_id = 666 的数据

sql 复制代码
-- 1. 创建新表(复制结构)
CREATE TABLE t_app_new LIKE t_app;

-- 2. 插入需要保留的数据
INSERT INTO t_app_new
SELECT *
FROM t_app
WHERE app_id != '666';

-- 3. 重命名表(原子操作,瞬间完成)
RENAME TABLE t_app TO t_app_old,
             t_app_new TO t_app;

-- 4. 确认无误后删除旧表
DROP TABLE t_app_old;
相关推荐
这就是佬们吗1 小时前
Python入门⑤-异常处理、文件操作与实战项目
开发语言·数据库·python·算法·pycharm
吴声子夜歌1 小时前
MongoDB 4.x——SpringBoot框架整合
数据库·spring boot·mongodb
Database_Cool_1 小时前
阿里云 Tair(企业级内存数据库)vs 腾讯云 Redis 云缓存深度对比:性能/数据结构/成本全维度 Benchmark
数据库·阿里云·缓存
garuda herb1 小时前
生成专题页Blog--建立并返回 MySQL 数据库连接
python·mysql
流星白龙1 小时前
【Redis】1.Redis特性
数据库·redis·缓存
奶糖 肥晨1 小时前
DBeaver 安装与 MySQL 连接配置教程
数据库·mysql
woshihuanglaoshi2 小时前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
万亿少女的梦1682 小时前
基于Spring Boot、Java与MySQL的网络订餐系统设计与实现
java·spring boot·mysql·系统设计·网络订餐
Database_Cool_4 小时前
阿里云 RDS MySQL 降本增效实战:从规格选型到成本优化,月成本降低64%全攻略
mysql·阿里云·云计算
java_logo4 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris