前言
在获取了目标服务器权限之后,一般取证要拿到源码,还得要拿到数据库文件,这样可以在本地搭建相同的环境进行复现数据。难点,判断数据库和表的大小,以便进行选择性脱裤和打包。
一、查看数据库大小
根据数据库的大小来判断
常用命令
查看mysql默认密码
grep "password" /var/log/mysqld.log
查询所用数据库总大小
mysql> use information_schema;
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;
查看指定数据库每一个表容量大小
语句:select table_schema as '数据库', table_name as '表名',table_rows as '记录数',truncate(data_length/1024/1024, 2) as '数据容量(MB)',truncate(index_length/1024/1024, 2) as '索引容量(MB)' from information_schema.tables where table_schema='这里写裤的名称' order by data_length desc, index_length desc;
例子:select table_schema as '数据库', table_name as '表名',table_rows as '记录数',truncate(data_length/1024/1024, 2) as '数据容量(MB)',truncate(index_length/1024/1024, 2) as '索引容量(MB)' from information_schema.tables where table_schema='mysql' order by data_length desc, index_length desc;
查看指定单个数据库容量大小
语句:select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)', sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)' from information_schema.tables where table_schema='这里写数据库名';
例如:select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)', sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)' from information_schema.tables where table_schema='mysql';
查询每个裤总容量
select table_schema as '数据库', sum(table_rows) as '记录数',sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)' from information_schema.tables group by table_schema order by sum(data_length) desc, sum(index_length) desc;
二、脱裤备份
在知道了数据的容量表后,要选择性的进行打包和备份。
常用命令
查看mysql常用密码
grep "password" /var/log/mysqld.log
脱某个数据库 #不需要进入数据库
Linux
语法:mysqldump -h主机名 -P 端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql
例子:mysqldump -h 192.168.10.25 -P 3306 -uroot -proot --database mysql >/data/backup/www.sql;
Windows
语法:mysqldump -h1主机名 -p端口 -u用户名 -密码 库名 >文件名.sql
例子:mysqldump -h127.0.0.1 -p3306 -uroot -proot mysql >111.sql
脱某个表和多个表
Windows 备份某个表 或者多个表
语法:mysqldump -h1主机名 -p端口 -u用户名 -p密码 库名 表名 表名 >文件名.sql
例子:mysqldump -h127.0.0.1 -p3306 -uroot -proot mysql t1 t2 >/data/backup/cmdb_t1_t2.sql
同时备份多个库
格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --databases 数据库名1 数据库名2 数据库名3 > 文件名.sql
例如:mysqldump -h192.168.1.100 -uroot -ppassword --databases cmdb bbs blog > /data/backup
如果不行,试试不要--databases
备份数据库结构不备份数据
格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --no-data 数据库名1 数据库名2 数据库名3 > 文件名.sql
例如:mysqldump --no-data –databases db1 db2 cmdb > /data/backup/structure.sql
原文始发于微信公众号(白帽兔):[红队TIPS]查看数据库大小+Mysql备份大法
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论