content_image/804342.jpg
•Using memcached  as a MySQL front end: This is the primary purpose of the InnoDB memcached plugin. An integrated memcached  daemon improves application performance, and having InnoDB handle data transfers between memory and disk simplifies application logic. 

For comparison with traditional memcached , see Using memcached  as a MySQL Caching Layer. 

•Utilities: The MySQL server includes the libmemcached  library but not additional command-line utilities. To use commands such as memcp , memcat , and memcapable  commands, install a full memcached distribution. When memrm  and memflush  remove items from the cache, the items are also removed from the underlying InnoDB  table. 

For comparison with traditional memcached , see libmemcached  Command-Line Utilities. 

•Programming interfaces: You can access the MySQL server through the daemon_memcached  plugin using all supported languages: C and C++, Java, Perl, Python, PHP, and Ruby. Specify the server hostname and port as with a traditional memcached  server. By default, the daemon_memcached  plugin listens on port 11211 . You can use both the text and binary protocols. You can customize the behavior of memcached  functions at runtime. Serialization (that is, the exact string format representing complex data structures) depends on the language interface. 

For comparison with traditional memcached , see Developing a memcached  Application. 

•Frequently asked questions: MySQL has an extensive FAQ for traditional memcached . The FAQ is mostly applicable, except that using InnoDB  tables as a storage medium for memcached  data means that you can use memcached  for more write-intensive applications than before, rather than as a read- only cache. 

## 15.20.3 Setting Up the InnoDB memcached Plugin 

See memcached  FAQ. 

This section describes how to set up the daemon_memcached  plugin on a MySQL server. Because the memcached  daemon is tightly integrated with the MySQL server to avoid network traffic and minimize latency, you perform this process on each MySQL instance that uses this feature. 

## Prerequisites 

<img src='content_image/804342.jpg'>

## Note 

Before setting up the daemon_memcached  plugin, consult Section 15.20.5, “Security Considerations for the InnoDB memcached Plugin”  to understand the security procedures required to prevent unauthorized access. 

•The daemon_memcached  plugin is only supported on Linux, Solaris, and macOS platforms. Other operating systems are not supported. 

•When building MySQL from source, you must build with -DWITH_INNODB_MEMCACHED=ON . This build option generates two shared libraries in the MySQL plugin directory ( plugin_dir ) that are required to run the daemon_memcached  plugin: 

• libmemcached.so : the memcached  daemon plugin to MySQL. 

• innodb_engine.so : an InnoDB  API plugin to memcached . 

• libevent  must be installed. 

•If you did not build MySQL from source, the libevent  library is not included in your installation. Use the installation method for your operating system to install libevent 1.4.12 or later. For example, 

