Loadable functions, as the name implies, must be loaded into the server before they can be used. MySQL supports automatic function loading during server startup and manual loading thereafter.
While a loadable function is loaded, information about it is available as described in Section 7.7.2, “Obtaining Information About Loadable Functions”.
        To load a loadable function manually, use the
        CREATE
        FUNCTION statement. For example:
      
CREATE FUNCTION metaphon
  RETURNS STRING
  SONAME 'udf_example.so';
        The file base name depends on your platform. Common suffixes are
        .so for Unix and Unix-like systems,
        .dll for Windows.
      
        CREATE
        FUNCTION has these effects:
- It loads the function into the server to make it available immediately. 
- It registers the function in the - mysql.funcsystem table to make it persistent across server restarts. For this reason,- CREATE FUNCTIONrequires the- INSERTprivilege for the- mysqlsystem database.
- It adds the function to the Performance Schema - user_defined_functionstable that provides runtime information about installed loadable functions. See Section 7.7.2, “Obtaining Information About Loadable Functions”.
Automatic loading of loadable functions occurs during the normal server startup sequence:
- Functions registered in the - mysql.functable are installed.
- Components or plugins that are installed at startup may automatically install related functions. 
- Automatic function installation adds the functions to the Performance Schema - user_defined_functionstable that provides runtime information about installed functions.
        If the server is started with the
        --skip-grant-tables option,
        functions registered in the mysql.func table
        are not loaded and are unavailable. This does not apply to
        functions installed automatically by a component or plugin.
        To remove a loadable function, use the
        DROP
        FUNCTION statement. For example:
      
DROP FUNCTION metaphon;
        DROP
        FUNCTION has these effects:
- It unloads the function to make it unavailable. 
- It removes the function from the - mysql.funcsystem table. For this reason,- DROP FUNCTIONrequires the- DELETEprivilege for the- mysqlsystem database. With the function no longer registered in the- mysql.functable, the server does not load the function during subsequent restarts.
- It removes the function from the Performance Schema - user_defined_functionstable that provides runtime information about installed loadable functions.
        DROP
        FUNCTION cannot be used to drop a loadable function
        that is installed automatically by components or plugins rather
        than by using
        CREATE
        FUNCTION. Such a function is also dropped
        automatically, when the component or plugin that installed it is
        uninstalled.
        To reinstall or upgrade the shared library associated with a
        loadable function, issue a
        DROP
        FUNCTION statement, upgrade the shared library, and
        then issue a
        CREATE
        FUNCTION statement. If you upgrade the shared library
        first and then use
        DROP
        FUNCTION, the server may unexpectedly shut down.