bash
统计 表占据的空间
SELECT TABLE_SCHEMA, ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)
FROM
INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='test'
数据恢复
mysql 5.7
通过dbsake
dbsake frmdump frm文件路径 > db.sql
导出表结构文件
通过ibd文件进行恢复
1, 在目标数据库执行建表语句
脱离表空间 sys_user 表名
2,alter table sys_user 表名 discard tablespace;
3, 把ibd文件放入 服务器指定数据目录下
如果是linux系统 注意权限
chown -R mysql:mysql ./ry
-- 最后一步 执行命令后查询表数据是否导入
4. alter table sys_user import tablespace;
5.-- 通过 ibd 文件 获取 表结构信息
ibd2sdi -d sys_user /var/lib/mysql/ry/sys_user.ibd
通过 binlog 恢复 mysql数据
sh
## 将 binlog 解析为可识别的文本
mysqlbinlog /var/log/mysql/mysql-bin.000001 -vv > back.sql
## 找到 删除操作的语句 找到 binlog的position
## 执行如下命令 做数据恢复
mysqlbinlog /var/log/mysql/mysql-bin.000001 --start-position=525 --stop-position=661|mysql -uroot -p