重建或修复 MySQL 表或索引

ID:1642 / 打印

一分耕耘,一分收获!既然都打开这篇《重建或修复 MySQL 表或索引》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新数据库相关的内容,希望对大家都有所帮助!

表和索引的改变是指MySQL处理数据类型和字符集的方式。 CHECK TABLE、mysqlcheck 或 mysql_upgrade 报告必要的表修复或升级。

重建表

重建表的方法有很多种。下面列出了其中一些方法 -

  • 转储和重新加载方法

  • ALTER TABLE 方法

  • 修复表方法

让我们简要了解一下它们 -

转储和重新加载方法

如果由于不同版本的 MySQL 版本在二进制(就地)升级或下载后无法处理表而需要重建表,则需要使用此转储和重新加载方法.

表可以通过转储和重新加载来重建。这可以通过使用“mysqldump”并创建转储文件并允许 mysql 重新加载该文件来完成。这可以使用以下命令来完成 -

mysqldump db_name t1 > dump.sql mysql db_name < dump.sql

如果必须在单个数据库中重建所有表,则可以指定数据库名称而不使用任何表名称。可以使用以下命令来完成 -

mysqldump db_name > dump.sql mysql db_name < dump.sql

如果所有数据库中的所有表都必须重建,则必须使用“−−所有数据库”选项。可以使用以下命令来完成 -

mysqldump --all-databases > dump.sql mysql < dump.sql

ALTER TABLE 方法

如果需要使用 ALTER TABLE 方法重建表,则可以使用“null”更改。可以使用 ALTER TABLE 语句来更改表,以便它可以使用存储引擎。让我们举个例子:假设TblName是一个InnoDB表,下面的语句可以用来重建表 -

ALTER TABLE TblName ENGINE = InnoDB;

REPAIR TABLE 方法

REPAIR TABLE 方法仅适用于 MyISAM、ARCHIVE 和 CSV 表。如果表检查操作表明文件已损坏或需要升级,则可以使用语句 REPAIR TABLE。让我们举个例子:为了修复 MyISAM 表,可以执行以下语句 -

REPAIR TABLE TblName;

mysqlcheck --repair 提供对 REPAIR TABLE 语句的命令行访问。这可能是修复表的更方便的方法,因为您可以使用 --databases 来修复数据库中的特定表,或使用 --all-databases 选项来修复所有数据库中的所有表。可以使用以下命令来完成 -

mysqlcheck −−repair −−databases db_name ... mysqlcheck −−repair −−all−databases

今天关于《重建或修复 MySQL 表或索引》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注the24.cn!

上一篇: 如何在MySQL中显示root的GRANTS?
下一篇: 如何强制 MySQL 通过 TCP 而不是 Unix 套接字连接?

作者:admin @ 24资源网   2024-09-04

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。