首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除并重新创建MySQL中的索引,以减少将数据库复制到新服务器的表大小?

删除并重新创建MySQL中的索引,以减少将数据库复制到新服务器的表大小?
EN

Database Administration用户
提问于 2015-05-18 08:18:46
回答 1查看 2.1K关注 0票数 2

我必须将100 to的给定数据库从服务器a移动到服务器b,并在今年晚些时候将带有副本的服务器c移动到服务器d进行测试。

所以所有的服务器都是带有MySQL的Unix (大部分是Debian)。数据库是MyISAM。

我最大的表,占所有数据的99%,是47 My的数据(MID),还有50 My的索引(MIY)。

我的想法是:

1)记录数据库文件

2)复制到新服务器

( 3)它不含焦油

4)将其复制到新的mysql文件夹中。

我的问题是:

我可以删除索引文件并在新服务器上重新创建索引以将复制和tar时间减少50%吗?

EN

回答 1

Database Administration用户

发布于 2015-05-18 17:38:07

你问我

我可以删除索引文件并在新服务器上重新创建索引以将复制和tar时间减少50%吗?

可以,停那儿吧。您只需将.MYD复制到tar文件中。您将需要一个空白的.MYI文件。

建议

假设您正在移动mydata.mytable。你会有

  • /var/lib/mysql/mydata/mytable.frm
  • /var/lib/mysql/mydata/mytable.MYD
  • /var/lib/mysql/mydata/mytable.MYI

步骤01 :复制表结构

代码语言:javascript
复制
CREATE DATABASE IF NOT EXISTS myjunk;
CREATE TABLE myjunk.mytable LIKE mydata.mytable;

步骤02 :复制真实数据和空白索引文件

  • 复制S1:/var/lib/mysql/mydata/mytable.frm -> S2:/var/lib/mysql/mydata/mytable.frm
  • 复制S1:/var/lib/mysql/mydata/mytable.MYD -> S2:/var/lib/mysql/mydata/mytable.MYD
  • 复制S1:/var/lib/mysql/myjunk/mytable.MYI -> S2:/var/lib/mysql/mydata/mytable.MYI

步骤03 :在目标服务器

上重建索引文件

代码语言:javascript
复制
REPAIR TABLE mydata.mytable;

试试看!

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/101777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档