索引指数 'users_core' ...
错误:索引 'users_core':sql_range_query:表 '/tmp/#sql_ff2_0.MYI' 不正确的密钥文件;尝试修复它(DSN = mysql:// root:* @localhost:3306/myname)思考狮身人面像:错误而索引
这是什么意思?
我找不到文件'/tmp/#sql_ff2_0.MYI'
我该如何修复它?
索引指数 'users_core' ...
错误:索引 'users_core':sql_range_query:表 '/tmp/#sql_ff2_0.MYI' 不正确的密钥文件;尝试修复它(DSN = mysql:// root:* @localhost:3306/myname)思考狮身人面像:错误而索引
这是什么意思?
我找不到文件'/tmp/#sql_ff2_0.MYI'
我该如何修复它?
I can't find the file '/tmp/#sql_ff2_0.MYI'
这可能是mysql在查询过程中创建的一些临时表。
您是否尝试修复您在sql_range_query中使用的主表?
这实际上与Ruby/Rails无关,我只是遇到了这个问题,并且找到了真正的答案时遇到了一些问题。
问题是,sphinx索引器脚本试图在构建索引时创建临时MySQL表。在我的情况下的MySQL跑出来的磁盘空间用于临时表(默认为/tmp
,我的分区仅为2GB)
在将数据添加到该临时表和磁盘填充表损坏,因为最后一位写入临时表的数据被截断。
解决方案是确保MySQL写入临时表的驱动器具有足够的空间。我最终将my.cnf
中的临时目录更改为另一个更大的分区。对于在Debian配置文件默认位置是/etc/mysql/my.cnf
地址:把它旁边的[mysqld]
部分datadir
设置
tmpdir = /var/lib/mysql/tmp
最佳场所。
你有没有解决这个问题?如果是这样,怎么样? – 2011-03-31 20:42:30
尚未修复。我做了一些工作 - 从索引中删除了一些字段并暂时修复了它。 – 2011-04-06 04:16:10
表名和字段别名之间存在名称空间冲突 – 2011-04-06 04:17:03