Solved How do I install plugins in MariaDB

patrickkasie

Verified User
Joined
Sep 21, 2021
Messages
204
Location
Een echte Hollander
Dear DirectAdmin forum,

TL;DR My question should be: where do I get the correct (...).so files?

I know how to install MariaDB plugins (in theory at least).
I know what the packages are that I have to use (ha_tokudb.so ha_innodb.so auth_socket.so).
I know where they should be located at (/usr/lib64/mysql/plugin as shown by the MySQL command "SHOW VARIABLES LIKE 'plugin_dir';").
I know I have to use the server's version of MariaDB to install the plugins (10.6).
I know I have to log in to the root user of MySQL using SSH and execute the following commands:
Code:
INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
INSTALL PLUGIN InnoDB SONAME 'ha_innodb.so';
INSTALL PLUGIN TokuDB SONAME 'ha_tokudb.so';
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

I don't know how to retrieve the correct package. Or rather, where from.
OR if I'm doing something wrong, for example, the packages that I'm looking for aren't available for this version of MariaDB. For example, I couldn't find anything on the page with the word "semi", nor "toku", nor "auth".
https://mariadb.com/docs/server/ref/cs10.6/plugins/
The PHP versions are identical on both servers.

A little backstory: I had to move a user between servers. The old one has MariaDB 10.1, the new one has MariaDB 10.6. Everything worked flawlessly, except for a very niche item in an application the customer uses. From what I've heard, the connection works, the data is transfered, the application just doesn't know what to do with it. This led me to the conclusion we're missing a plugin. I've laid out the differences between the plugins from the old and new server, and the 5 aforementioned ones are different, or alas either disabled, not active or otherwise missing. But as it stands right now, there is nothing I can do if the server doesn't let me install plugins. Or at least know where to get them.

All of this did not culminate into a tangible result. As a last ditch effort, I performed a "da build all" and "da build rewrite_confs" but this did not work.
I've also mistakenly removed the existing "ha_innodb.so" from /usr/lib64/mysql/plugin/ in the hopes of renewing it. The previously mentioned "da build all" and "da build rewrite_confs" did not get this plugin back either.

Trying to copy and install the old plugins from the old server, in this case with the plugin tokudb, to the new server resulted in the following error after trying to install the plugin:
Code:
MariaDB [(none)]> INSTALL PLUGIN TokuDB SONAME 'ha_tokudb.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib64/mysql/plugin/ha_tokudb.so' (errno: 2, undefined symbol: THR_THD)
 
Last edited:
I've figured it out - partially.

I think the .so files are not available for MariaDB 10.6 because those plugins that come with the old version are no longer supported, deprecated or replaced in a way. So, going back to 10.3 is my only option... and then just today, a new update was released from the application, which will allow it to run on 10.6.

While my research wasn't entirely for nothing, as I like learning new things, the effort put into the whole ordeal was for nothing.
 
Back
Top