In mancher Hinsicht ähnelt die Plug-In-API der älteren UDF-API, die sie ersetzen soll, aber sie bietet eine Reihe von Vorteilen gegenüber ihrer Vorläuferin:
Das Plug-In-Framework ist erweiterbar, sodass es verschiedene Arten von Plug-Ins aufnehmen kann.
Manche Aspekte hat die Plug-In-API mit allen Plug-Ins gemeinsam, aber sie gestattet darüber hinaus auch typspezifische Schnittstellenelemente, sodass unterschiedliche Arten von Plug-Ins erstellt werden können. Ein Plug-In, das einem bestimmten Zweck dient, kann somit die für seine Erfordernisse geeignetste Schnittstelle haben, anstatt sich an den Bedürfnissen eines anderen Plug-In-Typs zu orientieren.
Auch wenn zurzeit nur die Schnittstelle für Volltext-Parser-Plug-Ins implementiert ist, können noch andere hinzukommen, wie beispielsweise eine Schnittsstelle für UDF-Plug-Ins.
Zur Plug-In-API gehören auch Versionsinformationen.
Durch die Versionsinformationen der Plug-In-API kann sich eine Plug-In-Bibliothek sowie jedes in ihr enthaltene Plug-In selbst identifizieren, und zwar mithilfe der API-Version, die zur Erstellung der Bibliothek benutzt wurde. Wenn sich die API mit der Zeit ändert, ändern sich auch die Versionsnummern, aber der Server kann immer anhand der Versionsinformationen einer konkreten Plug-In-Bibliothek herausfinden, ob er die Plug-Ins dieser Bibliothek unterstützt.
Es gibt zwei Arten von Versionsnummern. Die erste ist die Version des allgemeinen Plug-In-Frameworks selbst. Jede Plug-In-Bibliothek enthält diese Art von Versionsnummer. Die zweite ist die Nummer des einzelnen Plug-Ins. Jeder spezifische Typ von Plug-In in einer Bibliothek hat für seine Schnittstelle eine Versionsnummer, sodass jedes Plug-In in einer Bibliothek eine typspezifische Versionsnummer besitzt. So hat beispielsweise eine Bibliothek, in der ein Volltext-Parser-Plug-In liegt, eine allgemeine Plug-In-API-Versionsnummer und das einzelne Plug-In hat seinerseits eine Versionsnummer, die für ebendiese Volltext-Plug-In-Schnittstelle spezifisch ist.
Die Sicherheit der Plug-Ins wurde gegenüber der alten UDF-Schnittstelle verbessert.
Die ältere Schnittstelle zur Erstellung von UDFs ohne Plug-In ermöglichte es, Bibliotheken aus jedem Verzeichnis zu laden, das der dynamische Linker des Systems durchsuchte, und die Symbole zur Identifikation der UDF-Bibliothek waren relativ unspezifisch. Die neueren Regeln sind strenger. Eine Plug-In-Bibliothek muss in einem speziellen dedizierten Verzeichnis installiert sein, dessen Speicherort vom Server kontrolliert wird und zur Laufzeit nicht geändert werden kann. Außerdem muss die Bibliothek bestimmte Symbole enthalten, die sie als Plug-In-Bibliothek kennzeichnen. Der Server wird nichts als Plug-In laden, das nicht als Plug-In gebaut wurde.
Die neuere Plug-In-Schnittstelle löst die Sicherheitsprobleme der älteren UDF-Schnittstelle. Wenn ein UDF-Plug-In-Typ implementiert wird, können Nicht-Plug-In-UDFs in das neue Framework überführt werden und die alte Schnittstelle kann auslaufen.
Die Plug-In-Implementierung besteht aus folgenden Komponenten:
Quelldateien (die angegebenen Speicherorte gelten für eine MySQL-Quelldistribution):
            include/plugin.h stellt die
            öffentliche Plug-In-API zur Verfügung. Jeder, der eine
            Plug-In-Bibliothek schreiben möchte, sollte sich diese
            Datei anschauen.
          
            sql/sql_plugin.h und
            sql/sql_plugin.cc enthalten die interne
            Plug-In-Implementierung. Diese Dateien müssen Verfasser von
            Plug-Ins sich nicht anschauen. Nur wenn Sie mehr darüber
            erfahren möchten, wie der Server mit Plug-Ins umgeht, sind
            diese Dateien für Sie interessant.
          
Systemtabelle:
            Die plugin-Tabelle in der
            mysql-Datenbank listet alle installierten
            Plug-Ins auf und ist für die Nutzung von Plug-Ins
            erforderlich. Neuere MySQL-Versionen legen diese Tabelle bei
            der Installation an. Wenn Sie von einer älteren Version als
            MySQL 5.1 aufrüsten, sollten Sie mit
            mysql_fix_privilege_tables Ihre
            Systemtabellen aktualisieren und die
            plugin-Tabelle anlegen.
          
SQL-Anweisungen:
            INSTALL PLUGIN registriert ein Plug-In in
            der plugin-Tabelle und lädt den
            Plug-In-Code.
          
            UNINSTALL PLUGIN deregistriert ein
            Plug-In bei der plugin-Tabelle und und
            entlädt den Plug-In-Code.
          
            Die WITH PARSER-Klausel für die
            Erstellung von Volltextindizes verbindet ein
            Volltext-Parser-Plug-In mit einem gegebenen
            FULLTEXT-Index.
          
            SHOW PLUGIN zeigt Informationen über
            bekannte Plug-Ins an. Die PLUGINS-Tabelle
            in INFORMATION_SCHEMA liefert ebenfalls
            Informationen über Plug-Ins.
          
Systemvariable:
            plugin_dir zeigt an, wo im Verzeichnis
            alle Plug-Ins installiert werden müssen. Den Wert dieser
            Variablen können Sie beim Serverstart mit der Option
            --plugin_dir=
            angeben.
          path
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

