VPS迁移后重建MySQL ISAM全文索引

前文我简单总计了web应用的迁移过程,这里补充说明一下数据库迁移后的全文索引重建问题。

数据库导入到MySQL之后,如果有ISAM fulltext表,需要重建索引。

cd /var/lib/mysql/music

找到对应数据表的索引文件,这里music是我的数据库名称(db_name)。

对于较小的表,直接执行:

myisamchk –recover –ft_min_word_len=2 –ft_max_word_len=20 bt.MYI

为了让用户能搜索到较短的人名,比如“许巍”,我把单词的最短长度设定为2。

对于超大的表,直接执行上述命令就不行了,会得到一个错误提示:

myisamchk error: myisam_sort_buffer_size is too small

这时需要为myisamchk命令添加–force和–safe-recover两个参数。 比如,这里我为一个百万记录的表重建索引,则执行:

myisamchk –recover –force –safe-recover –ft_min_word_len=2 –ft_max_word_len=20 albums_fulltext.MYI

发表评论

您的电子邮箱地址不会被公开。