MySQL Server Loadable Functions • my_key_store() Obfuscates and stores a key in the keyring. Syntax: bool my_key_store(const char *key_id, const char *key_type, const char* user_id, void *key, size_t key_len) Arguments: • key_id ,  user_id : Null-terminated strings that as a pair form a unique identifier for the key to be stored. • key_type : A null-terminated string that provides additional information about the key. • key : The buffer containing the key data to be stored. • key_len : The size in bytes of the  key  buffer. Return value: Returns 0 for success, 1 for failure. MySQL supports loadable functions, that is, functions that are not built in but can be loaded at runtime (either during startup or later) to extend server capabilities, or unloaded to remove capabilities. For a table describing the available loadable functions, see Section 12.2, “Loadable Function Reference” . Loadable functions contrast with built-in (native) functions, which are implemented as part of the server and are always available; for a table, see Section 12.1, “Built-In Function and Operator Reference” . Loadable functions previously were known as user-defined functions (UDFs). That terminology was something of a misnomer because “user-defined”  also can apply to other types of functions, such as stored functions (a type of stored object written using SQL) and native functions added by modifying the server source code. MySQL distributions include loadable functions that implement, in whole or in part, these server capabilities: 5.7 MySQL Server Loadable Functions Note •Group Replication enables you to create a highly available distributed MySQL service across a group of MySQL server instances, with data consistency, conflict detection and resolution, and group membership services all built-in. See Chapter 18,  Group Replication . •MySQL Enterprise Edition includes functions that perform encryption operations based on the OpenSSL library. See Section 6.6, “MySQL Enterprise Encryption” . •MySQL Enterprise Edition includes functions that provide an SQL-level API for masking and de- identification operations. See Section 6.5.1, “MySQL Enterprise Data Masking and De-Identification Elements” . •MySQL Enterprise Edition includes audit logging for monitoring and logging of connection and query activity. See Section 6.4.5, “MySQL Enterprise Audit” , and Section 6.4.6, “The Audit Message Component” . 1143