MySQL 8.1.0
Source Code Documentation
Components and Plugins

An important question to answer is what is the relationship between components and plugins.

To the end user these both look the same: a way to dynamically extend the functionality of the server. And that is a sought-after resemblance.

But architecturally the two are very distinct.

Components are self-contained code containers that interact with other code exclusively by implementing and consuming services via the registry.

Plugins do implement plugin APIs and may choose to call plugin service APIs exposed by the server. But in reality they have access to all of the server binary global symbols. So most if not all plugins choose to use these instead of confining themselves into the (admittedly limited set of) plugin APIs available.

The above makes plugins an integral part of the server codebase, more specifically of the server component.

Plugins are dynamically loadable bits of the The Server Component