我正在为我的应用程序使用主/从数据库,并且有 2 个从数据库,一个用于 sphinx,一个用于用户,并且根据规则 1 个主数据库
从属数据库设置为只读。问题是,当我在从站上重建 sphinx 时,会出现错误
The MySQL server is running with the --read-only option so it cannot execute this statement
如何解决这个问题?
最佳答案
正如评论中所确定的,发生这种情况是因为增量索引正在发挥作用,并且它们需要写入访问权限,作为运行完整索引时重置增量标志列的一部分。
如果您希望保留只读访问权限,您可以调查 real-time indices作为带有增量的 SQL 支持索引的替代方案,因为实时索引允许随着底层 ActiveRecord 数据的变化而更新。如果您运行的是 Thinking Sphinx v4,那么 rake 任务根本不会改变,您只需要使用不同的索引类型即可。
如果您使用的是 TS v3,则任务的命名方式会有所不同(regenerate
而不是 rebuild
、generate
而不是 索引
)。 The documentation does distinguish between the two major releases .
但是,如果您希望继续使用 SQL 支持的索引和增量,则需要对数据库进行写访问。
关于mysql - Sphinx 无法在只读数据库上重建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55085436/