浏览模式: 标准 | 列表 2020年03月21日的文章

使用mysqldump导出mysql数据中指定表中的指定数据

有个mysql数据库名为db1,里面有个table1表,表中有几千万条数据,目前有个需求,需要把这个表中2020年3月21日的数据导出到sql文件,下载到本地并导入本地数据库中。

命令如下:mysqldump -uroot -p db1 table1 --where="date like '2020-03-21%'" > table1.sql

解释:使用数据库的root用户导出db1数据库中table1标中符合条件的数据(date是2020年3月21日)到当前目录下的tables1.sql文件。

 

解决MySQL数据库InnoDB引擎ERROR 1033 (HY000): In...

今天在操作某个MySQL数据库(InnoDB引擎)的test表的时候,出现了问题,导致该表无法访问,访问的时候就提示错误:ERROR 1033 (HY000): Incorrect information in file: './test/test.frm'

按照错误信息提示信息的意思就是这个frm后缀的文件存在错误信息,那么这个文件是干什么的呢?为什么访问数据表会提示这个信息?怎么修复?

frm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果出现特殊情况出现frm文件损坏也不要放弃希望,当修复MyISAM和InnoDB表时,MySQL服务会首先去调用frm文件,所以我们只能通过修复frm文件进行后面的数据恢复。

也就是说frm是表结构文件,通过mysql数据库自带的修复命令无法修复成功,只能另辟蹊径。

方法:找到该数据表的备份sql文件,另外建立一个数据库test2,将备份文件导入该数据库中,然后在命令行下先将原来的test数据库中的test.frm重命名一下,再将test2数据库的test.frm文件复制test数据库目录下。再次访问test表,没有问题了。