<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h2 class="title">
      <a name="components">
      </a>
      7.5 MySQL Components
     </h2>
    </div>
   </div>
  </div>
  <div class="toc">
   <dl class="toc">
    <dt>
     <span class="section">
      <a href="component-loading.html">
       7.5.1 Installing and Uninstalling Components
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="obtaining-component-information.html">
       7.5.2 Obtaining Component Information
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="error-log-components.html">
       7.5.3 Error Log Components
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="query-attribute-components.html">
       7.5.4 Query Attribute Components
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="scheduler-component.html">
       7.5.5 Scheduler Component
      </a>
     </span>
    </dt>
   </dl>
  </div>
  <a class="indexterm" name="idm46045257357408">
  </a>
  <p>
   MySQL Server includes a component-based infrastructure for extending
    server capabilities. A component provides services that are
    available to the server and other components. (With respect to
    service use, the server is a component, equal to other components.)
    Components interact with each other only through the services they
    provide.
  </p>
  <p>
   MySQL distributions include several components that implement server
    extensions:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      Components for configuring error logging. See
      <a class="xref" href="error-log.html" title="7.4.2 The Error Log">
       Section 7.4.2, “The Error Log”
      </a>
      , and
      <a class="xref" href="error-log-components.html" title="7.5.3 Error Log Components">
       Section 7.5.3, “Error Log Components”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      A component for checking passwords. See
      <a class="xref" href="validate-password.html" title="8.4.3 The Password Validation Component">
       Section 8.4.3, “The Password Validation Component”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      Keyring components provide secure storage for sensitive
        information. See
      <a class="xref" href="keyring.html" title="8.4.4 The MySQL Keyring">
       Section 8.4.4, “The MySQL Keyring”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      A component that enables applications to add their own message
        events to the audit log. See
      <a class="xref" href="audit-api-message-emit.html" title="8.4.6 The Audit Message Component">
       Section 8.4.6, “The Audit Message Component”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      A component that implements a loadable function for accessing
        query attributes. See
      <a class="xref" href="query-attributes.html" title="11.6 Query Attributes">
       Section 11.6, “Query Attributes”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      A component for scheduling actively executing tasks. See
      <a class="xref" href="scheduler-component.html" title="7.5.5 Scheduler Component">
       Section 7.5.5, “Scheduler Component”
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
  <p>
   System and status variables implemented by a component are exposed
    when the component is installed and have names that begin with a
    component-specific prefix. For example, the
   <code class="literal">
    log_filter_dragnet
   </code>
   error log filter component
    implements a system variable named
   <code class="literal">
    log_error_filter_rules
   </code>
   , the full name of which is
   <a class="link" href="server-system-variables.html#sysvar_dragnet.log_error_filter_rules">
    <code class="literal">
     dragnet.log_error_filter_rules
    </code>
   </a>
   . To
    refer to this variable, use the full name.
  </p>
  <p>
   The following sections describe how to install and uninstall
    components, and how to determine at runtime which components are
    installed and obtain information about them.
  </p>
  <p>
   For information about the internal implementation of components, see
    the MySQL Server Doxygen documentation, available at
   <a class="ulink" href="/doc/index-other.html" target="_top">
    https://dev.mysql.com/doc/index-other.html
   </a>
   . For example, if you
    intend to write your own components, this information is important
    for understanding how components work.
  </p>
 </div>
 <br/>
</div>
