MySQL工具【myisampack 表压缩、mysqlcheck 表维护、mysqlhotcopy 表热备份】

本文介绍了数据库管理中的几个关键工具:myisampack用于对MyISAM表进行高压缩,但压缩后的表变为只读;mysqlcheck提供检查、修复、分析和优化表的功能;mysqlhotcopy则是一种快速备份MyISAM表的方法,适用于Linux/UNIX环境。理解这些工具对于数据库日常维护和数据安全性至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01. myisampack 表压缩(了解)

myisampack是一个表压缩工具,可以使用很高的压缩率来对 MyISAM存储引擎 的表进行压缩,使得压缩后的表占用比压缩前小得多的磁盘空间,但是压缩后的表也将成为一个 只读表,不能进行DML操作

[root@ufo128 test]# ls -ltr
total 84
-rw-rw---- 1 mysql mysql 8586 Feb  6 22:15 ufo123.frm
-rw-rw---- 1 mysql mysql 1024 Feb  6 22:15 ufo123.MYI
-rw-rw---- 1 mysql mysql    0 Feb  6 22:15 ufo123.MYD
-rw-rw---- 1 mysql mysql   65 Jul 19  2020 db.opt

myisam(不支持事务)的数据库的物理文件结构为:

***.frm		元数据,表结构定义
***.MYD		myisam存储引擎专用,用于存储myisam表的数据
***.MYI		myisam存储引擎专用,用于存储myisam表的索引相关信息
***.opt		编码信息
[root@ufo128 mysql]# ls  -l ib*
-rw-rw---- 1 mysql mysql 10485760 Feb  6 22:26 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Feb  6 22:26 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Oct 13  2019 ib_logfile1

innodb(支持事务)的数据库的物理文件结构为:

***.frm			元数据,表结构定义
***.ibd			以独享表空间存储方式使用.ibd文件,并且每个表一个ibd文件
ibdata*			以共享表空间存储方式使用.ibdata文件,所有表共同使用一个ibdata文件

ib_logfiles*	是InnoDB的redolog,主要是在系统崩溃重启时,作事务重做的。而在系统正常时,每次checkpoint时间点,会将之前写入的事务应用到数据文件中。
				由参数innodb_log_files_in_group控制,若设置为4,则命名为ib_logfile0~3,这些文件顺序循环覆盖使用。
				通常在备份策略或者主从复制时,会对重做日志进行归档保存,最大限度保证数据不丢失。
				凡是归档的二进制文件都是落盘使用过的。具有一定的时间保留策略。
[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ERROR: File is not a binary log file.
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

02. mysqlcheck 表维护(了解)

mysqlcheck 客户端工具可以检查和修复 MyISAM表,还可以优化和分析表。实际上它集成了mysql工具中的 check、repair、analyze、optimize的功能。

-c,	check 		检查表
-r, repair 		修复表
-a, analyze 	分析表
-o, optimize 	优化表

03. mysqlhotcopy 表热备份(了解)

mysqlhotcopy 是一个perl脚本,它使用 lock tables、flush tables、cp或scp来快速的备份数据库,它是备份数据库或单个表的最快途径。其缺点是 mysqlhotcopy 只能用于备份 MyISAM而且它需要运行在Linux/UNIX环境中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值