MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
      This section describes issues that you may encounter when using
      the InnoDB memcached plugin.
    
If you encounter the following error in the MySQL error log, the server might fail to start:
failed to set rlimit for open files. Try running as root or requesting smaller maxconns value.
The error message is from the memcached daemon. One solution is to raise the OS limit for the number of open files. The commands for checking and increasing the open file limit varies by operating system. This example shows commands for Linux and macOS:
# Linux $>ulimit -n1024 $>ulimit -n 4096$>ulimit -n4096 # macOS $>ulimit -n256 $>ulimit -n 4096$>ulimit -n4096
          The other solution is to reduce the number of concurrent
          connections permitted for the memcached
          daemon. To do so, encode the -c
          memcached option in the
          daemon_memcached_option
          configuration parameter in the MySQL configuration file. The
          -c option has a default value of 1024.
        
[mysqld] ... loose-daemon_memcached_option='-c 64'
          To troubleshoot problems where the
          memcached daemon is unable to store or
          retrieve InnoDB table data, encode the
          -vvv memcached option in
          the daemon_memcached_option
          configuration parameter in the MySQL configuration file.
          Examine the MySQL error log for debug output related to
          memcached operations.
        
[mysqld] ... loose-daemon_memcached_option='-vvv'
If columns specified to hold memcached values are the wrong data type, such as a numeric type instead of a string type, attempts to store key-value pairs fail with no specific error code or message.
          If the daemon_memcached plugin causes MySQL
          server startup issues, you can temporarily disable the
          daemon_memcached plugin while
          troubleshooting by adding this line under the
          [mysqld] group in the MySQL configuration
          file:
        
daemon_memcached=OFF
          For example, if you run the INSTALL
          PLUGIN statement before running the
          innodb_memcached_config.sql configuration
          script to set up the necessary database and tables, the server
          might unexpectedly exit and fail to start. The server could
          also fail to start if you incorrectly configure an entry in
          the innodb_memcache.containers table.
        
To uninstall the memcached plugin for a MySQL instance, issue the following statement:
mysql> UNINSTALL PLUGIN daemon_memcached;
          If you run more than one instance of MySQL on the same machine
          with the daemon_memcached plugin enabled in
          each instance, use the
          daemon_memcached_option
          configuration parameter to specify a unique
          memcached port for each
          daemon_memcached plugin.
        
          If an SQL statement cannot find the InnoDB
          table or finds no data in the table, but
          memcached API calls retrieve the expected
          data, you may be missing an entry for the
          InnoDB table in the
          innodb_memcache.containers table, or you
          may have not switched to the correct InnoDB
          table by issuing a get or
          set request using
          @@
          notation. This problem could also occur if you change an
          existing entry in the
          table_idinnodb_memcache.containers table without
          restarting the MySQL server afterward. The free-form storage
          mechanism is flexible enough that your requests to store or
          retrieve a multi-column value such as
          col1|col2|col3 may still work, even if the
          daemon is using the test.demo_test table
          which stores values in a single column.
        
          When defining your own InnoDB table for use
          with the daemon_memcached plugin, and
          columns in the table are defined as NOT
          NULL, ensure that values are supplied for the
          NOT NULL columns when inserting a record
          for the table into the
          innodb_memcache.containers table. If the
          INSERT statement for the
          innodb_memcache.containers record contains
          fewer delimited values than there are mapped columns, unfilled
          columns are set to NULL. Attempting to
          insert a NULL value into a NOT
          NULL column causes the
          INSERT to fail, which may only
          become evident after you reinitialize the
          daemon_memcached plugin to apply changes to
          the innodb_memcache.containers table.
        
          If cas_column and
          expire_time_column fields of the
          innodb_memcached.containers table are set
          to NULL, the following error is returned
          when attempting to load the memcached
          plugin:
        
InnoDB_Memcached: column 6 in the entry for config table 'containers' in database 'innodb_memcache' has an invalid NULL value.
          The memcached plugin rejects usage of
          NULL in the cas_column
          and expire_time_column columns. Set the
          value of these columns to 0 when the
          columns are unused.
        
As the length of the memcached key and values increase, you might encounter size and length limits.
When the key exceeds 250 bytes, memcached operations return an error. This is currently a fixed limit within memcached.
              InnoDB table limits may be encountered
              if values exceed 768 bytes in size, 3072 bytes in size, or
              half of the
              innodb_page_size value.
              These limits primarily apply if you intend to create an
              index on a value column to run report-generating queries
              on that column using SQL. See
              Section 14.23, “InnoDB Limits” for details.
            
The maximum size for the key-value combination is 1 MB.
          If you share configuration files across MySQL servers of
          different versions, using the latest configuration options for
          the daemon_memcached plugin could cause
          startup errors on older MySQL versions. To avoid compatibility
          problems, use the loose prefix with option
          names. For example, use
          loose-daemon_memcached_option='-c 64'
          instead of daemon_memcached_option='-c 64'.
        
There is no restriction or check in place to validate character set settings. memcached stores and retrieves keys and values in bytes and is therefore not character set-sensitive. However, you must ensure that the memcached client and the MySQL table use the same character set.
memcached connections are blocked from accessing tables that contain an indexed virtual column. Accessing an indexed virtual column requires a callback to the server, but a memcached connection does not have access to the server code.