10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 36.4 mb
PDF (A4)- 36.4 mb
手册页(TGZ)- 237.6 kb
手册页(Zip)- 349.4 kb
信息(Gzip)- 3.4 mb
信息(邮政编码)- 3.4 mb
本手册节选

MySQL 5.7参考手册// 解决InnoDB memcached Plugin的问题

14.21.8 InnoDB memcached插件故障处理

属性时可能遇到的问题InnoDBmemcached插件。

  • 如果MySQL错误日志中出现以下错误,可能导致服务器无法启动:

    日志含义设置打开文件的限制失败。尝试以root身份运行或请求更小的maxconns值。

    错误消息来自memcached守护进程。一种解决方案是提高操作系统对打开文件数量的限制。不同操作系统检查和增加打开文件限制的命令不同。这个例子显示了Linux和macOS的命令:

    # macOS $> ulimit -n 256 $> ulimit -n 4096 $> ulimit -n 4096

    方法允许的并发连接数是另一种解决方案memcached守护进程。为此,对- cmemcached选项中的daemon_memcached_optionMySQL配置文件中的配置参数。的- cOption的默认值为1024。

    (mysqld)……loose-daemon_memcached_option = ' 64 - c '
  • 故障排除memcached守护进程无法存储或检索InnoDB表数据,编码-vvvmemcached选项中的daemon_memcached_optionMySQL配置文件中的配置参数。检查MySQL错误日志中的调试输出memcached操作。

    (mysqld)……loose-daemon_memcached_option = ' -vvv '
  • 如果列指定保存memcached值是错误的数据类型,例如数值类型而不是字符串类型,尝试存储键-值对失败,没有特定的错误代码或消息。

  • 如果daemon_memcached插件会导致MySQL服务器启动问题,你可以暂时禁用daemon_memcached插件进行故障排除时,可将此行添加到(mysqld)MySQL配置文件中的group:

    daemon_memcached =了

    例如,如果运行安装插件语句,然后运行innodb_memcached_config.sql配置脚本来设置必要的数据库和表,服务器可能会意外退出并无法启动。控件中的项配置错误,服务器也可能无法启动innodb_memcache.containers表格

    卸载memcached插件的MySQL实例,发出以下语句:

    mysql>卸载插件
  • 方法在同一机器上运行多个MySQL实例daemon_memcached插件在每个实例中启用时,使用daemon_memcached_option参数来指定惟一的memcached每个端口daemon_memcached插件。

  • 属性时,SQL语句无法找到InnoDB表或在表中没有发现数据,但是memcachedAPI调用检索预期的数据时,您可能遗漏了InnoDB表中的innodb_memcache.containers表,或者您可能没有切换到正确的InnoDB表。得到请求使用@@table_id符号。类中的现有项也可能发生此问题innodb_memcache.containers表,而无需重新启动MySQL服务器。自由格式存储机制非常灵活,可以让您的请求存储或检索多列值,例如col1 | col2 | col3可以仍然工作,即使守护进程正在使用test.demo_test将值存储在单列中的表。

  • 当定义你自己的InnoDB表用于daemon_memcached插件,表中的列被定义为非空,确保为非空列时,将表的记录插入到innodb_memcache.containers表格如果插入语句。innodb_memcache.containers记录包含的分隔值少于映射列,未填充列设置为.试图插入值转换为非空列导致插入对象的初始化后,才会显示失败daemon_memcached插件来将更改应用到innodb_memcache.containers表格

  • 如果cas_column而且expire_time_column字段innodb_memcached.containers表设置为时,在尝试加载memcached插件:

    InnoDB_Memcached:数据库“innodb_memcache”中配置表“containers”的第6列有一个无效的NULL值。

    memcached插件拒绝使用cas_column而且expire_time_column列。将这些列的值设置为0当列未使用时。

  • 的长度memcached键和值增加时,可能会遇到大小和长度限制。

    • 当密钥超过250字节时,memcached操作返回错误。目前这是一个固定的限制memcached

    • InnoDB如果值的大小超过768字节,超过3072字节,或超过一半,则可能会遇到表限制innodb_page_size价值。如果您打算在值列上创建索引,以便使用SQL在该列上运行生成报告的查询,则主要适用这些限制。看到章节14.23,“InnoDB限制”获取详细信息。

    • 键值组合的最大大小为1mb。

  • 如果您在不同版本的MySQL服务器之间共享配置文件,请使用最新的配置选项daemon_memcached在旧版本的MySQL上,插件可能会导致启动错误。为避免兼容性问题,请使用宽松的带有选项名称的前缀。例如,使用loose-daemon_memcached_option = ' 64 - c '而不是daemon_memcached_option = ' 64 - c '

  • 没有适当的限制或检查来验证字符集设置。memcached以字节存储和检索键和值,因此对字符集不敏感。但是,您必须确保memcached客户端和MySQL表使用相同的字符集。

  • memcached连接被阻止访问包含索引虚拟列的表。访问索引虚拟列需要回调到服务器,但是memcached连接不能访问服务器代码。