MySQL 9.0.0
Source Code Documentation
A Component

A component is a code container that contains one or more Service Implementations.

Components can be internal (part of the MySQL Server binary) and external (hosted in a OS binary file different from the one of the MySQL Server).

Each component will have:

  • Name
  • List of service implementations it provides.
  • List of services or service implementations it needs.
  • Initialization function that's called when a container is loaded. Takes a reference to the currently active service registry implementation.
  • De-initialization function that's called when a container unload is requested.

Opposite to old plugin infrastructure, Components don't need linkage against mysqld executable, neither on Linux nor Windows. In fact, in Components we strongly discourage from linking against mysqld executable at all, as it presents significant threat to them being independent and using only Components infrastructure to communicate with other parts of software.

MySQL Component - creating implementation