前言:
此刻看官们对“mysql备份数据库命令mysqldump出错是什么原因”大致比较着重,咱们都想要分析一些“mysql备份数据库命令mysqldump出错是什么原因”的相关资讯。那么小编同时在网上汇集了一些关于“mysql备份数据库命令mysqldump出错是什么原因””的相关资讯,希望姐妹们能喜欢,各位老铁们一起来学习一下吧!今天我在对一个mysql数据库做备份的时候,用mysqldump命令,居提示表有错误,需要修复
mysqldump: Got error: 145: Table './dataname/tablename is marked as crashed and should be repaired when using LOCK TABLES
查资料,说在myql 命令行下用 check tables tablename 命令修复,发现没有效果,错误依就。
后来尝试用了myisamchk 工具,解决问题
myisamchk -c -r ../data/tablename
错误产生原因,有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说法。
还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致
MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。
当你试图修复一个被破坏的表的问题时,有三种修复类型。如果你得到一个错误信息指出一个临时文件不能建立,删除信息所指出的文件并再试一次--这通常是上一次修复操作遗留下来的。
这三种修复方法如下所示:
% myisamchk --recover --quick /path/to/tblName
% myisamchk --recover /path/to/tblName
% myisamchk --safe-recover /path/to/tblName