活见鬼,明明删除了数据,空间却没减少

天天在用钱
活见鬼,明明删除了数据,空间却没减少文章插图
活见鬼,明明删除了数据,空间却没减少文章插图
活见鬼,明明删除了数据,空间却没减少文章插图
活见鬼,明明删除了数据,空间却没减少文章插图
活见鬼,明明删除了数据,空间却没减少文章插图
迁移数据常用
活见鬼,明明删除了数据,空间却没减少文章插图
1、导出文件 - mysqldump 命令
?mysqldump 是 Mysql 自带的逻辑备份工具 。 其备份原理是通过协议连接到 Mysql 数据库 , 将需要备份的数据查询出来转换成对应的 insert 语句 。 当需要还原这些数据时 , 只要执行这些 insert 语句 , 即可将对应的数据还原 。
常用命令:

  • 导出所有数据库
mysqldump -uroot -p123456 --all-databases>/tmp/all.sql
  • 导出指定数据库
mysqldump -uroot -p123456 --databasesdb>/tmp/db.sql
  • 导出指定表
mysqldump -uroot -p123456 --databasesdb--tables a >/tmp/a.sql
  • 根据条件导出数据
mysqldump -uroot -p123456 --databases db --tables a --where='id=1' >/tmp/a.sql
  • 指导出表结构
mysqldump -uroot -p123456 --no-data --databases db>/tmp/db.sql2、导入文件 - source 命令
source 命令可以将导出的 sql 文件导入进指定数据库 。
操作步骤:
  • use 数据库;
  • soucre 已导出的 sql 文件 。

活见鬼,明明删除了数据,空间却没减少文章插图
迁移思路
1. 数据库A历史数据迁移到 hdfs(一种分布式文件系统)上进行归档;
2. 删除数据库A已归档的表 , 使用 drop 命令;
3. 数据库A上新建表 , 用于数据库B迁移;
4. 数据库B中除未完成单外都迁移至数据库A;
5. 脚本进行删除数据库B上已迁移数据 。
活见鬼,明明删除了数据,空间却没减少文章插图
活见鬼,明明删除了数据,空间却没减少文章插图
活见鬼,明明删除了数据,空间却没减少文章插图
阿丁开讲
1、参数介绍
在 Innodb 存储引擎中 , innodb_file_per_table 参数是用来控制表数据的存储方式的 。
当参数为 OFF 的时候 , 所有数据都存放于默认路径下名为 ibdata* 的共享表空间里 , 即将数据库所有的表数据及索引文件存放到一个文件中 。 在删除数据表的时候 , ibdata* 文件不会自动收缩 。
当参数为 ON 的时候 , 每一个表都将存储在一个以 .ibd 为后缀的文件中 。 这样每个表都有了自己独立的表空间 , 通过 drop table 命令就可以将表空间进行回收 。


推荐阅读