[MXS-2308] Change default for connector_plugindir Created: 2019-01-30  Updated: 2020-08-25  Resolved: 2019-01-31

Status: Closed
Project: MariaDB MaxScale
Component/s: Core, Packaging
Affects Version/s: 2.3.3
Fix Version/s: 2.3.4

Type: Task Priority: Major
Reporter: Geoff Montee (Inactive) Assignee: markus makela
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Problem/Incident
causes MXS-2293 Monitor fails PAM authentication with... Closed
Relates
relates to MXS-2294 Document how to configure user and gr... Closed

 Description   

The default value for connector_plugindir is /var/lib/plugin.

https://mariadb.com/kb/en/mariadb-maxscale-23-mariadb-maxscale-configuration-usage-scenarios/#connector_plugindir

I think that the default should be changed to the location where the MariaDB-common package installs authentication plugins on the specific OS. On RHEL/CentOS, that's /usr/lib64/mysql/plugin/:

[ec2-user@ip-172-30-0-106 ~]$ sudo rpm -q MariaDB-common
MariaDB-common-10.3.12-1.el7.centos.x86_64
[ec2-user@ip-172-30-0-106 ~]$ sudo rpm -q MariaDB-common --list | grep "plugin"
/usr/lib64/mysql/plugin
/usr/lib64/mysql/plugin/auth_gssapi_client.so
/usr/lib64/mysql/plugin/caching_sha2_password.so
/usr/lib64/mysql/plugin/client_ed25519.so
/usr/lib64/mysql/plugin/dialog.so
/usr/lib64/mysql/plugin/mysql_clear_password.so
/usr/lib64/mysql/plugin/sha256_password.so

Otherwise, users can see errors like MXS-2293.



 Comments   
Comment by markus makela [ 2019-01-31 ]

If you could provide Debian versions of the paths, that would greatly speed this up.

Comment by Geoff Montee (Inactive) [ 2019-01-31 ]

It appears to be /usr/lib/mysql/plugin on Debian Jessie, and dialog.so is in the libmariadb3 package.

admin@ip-172-30-1-18:~$ sudo dpkg --status libmariadb3
Package: libmariadb3
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 420
Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
Architecture: amd64
Source: mariadb-10.2
Version: 10.2.20+maria~jessie
Replaces: libmariadbclient18 (<< 10.2.20+maria~jessie), libmysqlclient19, libmysqlclient20
Provides: libmysqlclient19, libmysqlclient20
Depends: mariadb-common, libc6 (>= 2.14), libssl1.0.0 (>= 1.0.0), zlib1g (>= 1:1.1.4)
Breaks: libmariadbclient18 (<< 10.2.20+maria~jessie)
Conflicts: libmariadbclient18 (<< 10.2.0), mariadb-galera-server-10.0 (<< 10.0.5), mariadb-galera-server-5.5 (<< 5.5.33), mariadb-server-10.0 (<< 10.0.5), mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-server-5.5 (<< 5.5.33)
Description: MariaDB database client library
 MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
 server. SQL (Structured Query Language) is the most popular database query
 language in the world. The main goals of MariaDB are speed, robustness and
 ease of use.
 .
 This package includes the client library.
Homepage: http://mariadb.org/
admin@ip-172-30-1-18:~$ sudo dpkg --listfiles libmariadb3 | grep "plugin"
/usr/lib/mysql/plugin
/usr/lib/mysql/plugin/dialog.so
/usr/lib/mysql/plugin/mysql_clear_password.so

Comment by Geoff Montee (Inactive) [ 2019-01-31 ]

By the way, you can also get the plugindir on a specific system by executing mysql_config, like this:

admin@ip-172-30-1-18:~$ mysql_config --plugindir
/usr/lib/mysql/plugin

mysql_config is in libmariadb3-dev on Debian. It's probably in MariaDB-devel on RHEL-based systems.

Generated at Thu Feb 08 04:13:11 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.