我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mysql中怎么删除大表

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mysql中怎么删除大表

本篇文章给大家分享的是有关Mysql中怎么删除大表,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。


    【解决办法】
    1.通过硬链接减少mysql DDL时间,加快锁释放
    2.通过truncate分段删除文件,避免IO hang
    【生产案例】
    某对mysql主备,主库写入较大时发现空间不足,需要紧急清理废弃大表,但不能影响应用访问响应:
    $ll /u01/mysql/data/test/tmp_large.ibd
    -rw-r-– 1 mysql dba 289591525376 Mar 30  2012 tmp_large.ibd
    270GB的大表删除变更过程如下:
    #(备库先做灰度)
    ln tmp_large.ibd /u01/bak/tmp_tbl.ibd  #建立硬链接
    -rw-r-– 2 mysql dba 289591525376 Mar 30  2012 tmp_large.ibd
    set session sql_log_bin=0;
    #不计入bin log节省性能,并且防止主备不一致
    desc test.tmp_large;
    drop table test.tmp_large;
    Query OK, 0 rows affected (10.46 sec)  mysql -uroot -e “start slave;”
    cd /u01/bak;screen -S weixi_drop_table  for i in `seq 270 -1 1 ` ;
    do sleep 2;truncate -s ${i}G tmp_tbl.ibd;done
    rm -rf tmp_tbl.ibd
    【性能比较】
    中间ctrl-C一次,可以看到truncate前后io的对比情况,基本上影响不大

    文件大小也成功更新

    【工具介绍】
    truncate – shrink or extend the size of a file to the specified size
    #来自coreutils工具集
    wget ftp.gnu.org/gnu/coreutils/coreutils-8.9.tar.gz
    tar -zxvf coreutils-8.9.tar.gz
    cd coreutils-8.9  ./configure
    make
    sudo cp class="lazy" data-src/truncate /usr/bin/

以上就是Mysql中怎么删除大表,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mysql中怎么删除大表

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql数据库中表怎么删除

删除 mysql 数据库中的表的步骤如下:确保拥有删除权限。使用 drop table table_name 命令删除表。可使用附加选项,如级联删除外键 (cascade) 或检查表是否存在 (if exists)。在删除表之前,请确保备份
mysql数据库中表怎么删除
2024-08-05

mysql怎么删除所有表

使用 mysql 删除所有表:1. 连接到数据库。2. 执行 drop table 命令,指定要删除的表名称。3. 运行 show tables 命令确认删除。如何使用 MySQL 删除所有表第一步:连接到 MySQL 数据库使用您的终
mysql怎么删除所有表
2024-05-22

mysql怎么删除库和表

如何删除 mysql 数据库和表?删除数据库:使用 drop database database_name 语法,其中 database_name 为要删除的数据库名称。删除表:使用 drop table table_name 语法,其中
mysql怎么删除库和表
2024-06-25

MySQL怎么删除表中个别数据

要删除表中的个别数据,可以使用DELETE语句。语法如下:DELETE FROM table_name WHERE condition;其中,table_name是要删除数据的表名,condition是要满足的条件。例如,要删除表中id
MySQL怎么删除表中个别数据
2024-05-21

mysql中怎么用drop删除表中数据

在MySQL中,可以使用DROP TABLE语句来删除表中的数据。下面是一个示例:DROP TABLE table_name;其中,table_name是要删除数据的表名。请注意,使用DROP TABLE语句将会删除整个表,包括表结构
2023-10-23

mysql中怎么删除表中一个数据

mysql 中使用 delete 语句删除表一行数据,语法为 delete from table_name where condition;步骤包括:指定要删除数据的表,指定删除条件,执行语句。MySQL 中删除表中一行数据在 MySQL
mysql中怎么删除表中一个数据
2024-05-01

编程热搜

目录