gpt4 book ai didi

mysql innodb_memcache 插件复制错误

转载 作者:行者123 更新时间:2023-11-30 00:19:09 25 4
gpt4 key购买 nike

我开始使用 mysql 5.6 作为 innodb_memcache 插件,一切正常,直到我配置了主从复制。
在配置主从时,有两件事让我困惑。 请注意下面是我在 my.cnf 中为 memcache 启用的行

daemon_memcached_w_batch_size=25  
daemon_memcached_option='-v -m 1048'
  1. 当我没有在 my.cnf 中使用 innodb_api_enable_binlog=1 时通过memcache提示符插入/更新(telnet localhost 11211)innodb_memcache表不会复制,而是保存在表中(通过memcache提示符/sql提示符访问)。当我从 sql 提示符执行此操作时,一切正常,数据被复制。不知道mysql如何复制数据而不将其保存在二进制日志中。

  2. 当我在 my.cnf 中启用 innodb_api_enable_binlog=1 时从 sql/memcache 提示符插入记录全部复制到从属服务器,但问题是当我使用 memcache 提示符更新记录时,它会抛出以下错误。外部主机关闭连接并且数据不保存在表中。
    现在我不知道该怎么办,因为我计划在生产中使用 mysql 5.6,但由于这个问题我无法进行升级。

最佳答案

终于我找到了解决方案。
在使用带有 memcache 插件的 innodb 表时应该记住一些事情。

  1. 当我们创建将通过memcache使用的innodb表时,我们为memcache参数保留3列,就像如果我们想创建一个3列的表来保存我们的信息,所以我们必须再保留3列Memcache 插件的列,因此我们创建包含 6 列的表(3 到 sotre 值 + 3 列(数据类型对于 c1 和 c3 应该是整数,对于 c2 应该是大整型),以便在 memcache 容器表中生成条目,它是固定的)。

  2. 当我们在innodb_memcache.containers中插入记录时,这里使用这3个额外的列,下面是详细信息。

注意:名为 c1,c2,c3 的 3 个额外列数据类型应为 int。

所以我们在容器表中插入记录,如下
标志:c1
cas_列:c2
过期时间列:c3

设置完后,我的 MySQL 没有崩溃并且工作正常。

关于mysql innodb_memcache 插件复制错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23387385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com