[MXS-1032] missing mysql_clear_password.so plugin Created: 2016-11-30  Updated: 2017-06-07  Resolved: 2017-03-15

Status: Closed
Project: MariaDB MaxScale
Component/s: N/A
Affects Version/s: 2.0.2
Fix Version/s: 2.1.2

Type: Bug Priority: Major
Reporter: Tamas Nagy Assignee: markus makela
Resolution: Fixed Votes: 0
Labels: None
Environment:

Oracle Enterprise Linux 7.3, MariaDB Galera Cluster 10.1.19, all VM


Sprint: 2017-30

 Description   

There is a MariaDB Galera Cluster with PAM auth plugin.
With HAproxy it works perfectly but as the servers do not see the source IP of the clients, I decided to give a try to the MaxScale.

But the MaxScale is not able to connect to the servers due to the lack of the mysql_clear_password plugin:

2016-11-30 10:58:54 error : [RW Split Router] Failed to connect to server 'server1' (1.2.3.1:3306) when checking authentication user credentials and permissions: 2058 Plugin mysql_clear_password could not be loaded: /home/ec2-user/workspace/_build/connector-c/install/lib/plugin/mysql_clear_password.so: cannot open shared object file: No such file or directory
2016-11-30 10:58:54 error : [RW Split Router] Failed to connect to server 'server2' (1.2.3.2:3306) when checking authentication user credentials and permissions: 2058 Plugin mysql_clear_password could not be loaded: /home/ec2-user/workspace/_build/connector-c/install/lib/plugin/mysql_clear_password.so: cannot open shared object file: No such file or directory
2016-11-30 10:58:54 warning: Service 'RW Split Router' has no listeners defined.

Two problems here:
1. the plugin dir seems hardcoded (/home/ec2-user/workspace/_build/connector-c/install/lib/plugin/) and I couldn't find option to modify it
2. the pligin itself is missing from the installation (couldn't find mysql_clear_password.so on the server)

My work to try resolving:
1. created the expected dir
2. symlinked the mysql_clear_password.so from MariaDB-common packages into the dir

After these the MaxScale seemd to be able to connect to the servers (the "Failed to connect..." error disappeared) but no new login row in the servers audit log and at the end the maxscale process crashed:

MariaDB Corporation MaxScale /dev/shm/maxscale.16944/maxscale8.log Wed Nov 30 11:21:56 2016
-----------------------------------------------------------------------
2016-11-30 11:21:56 notice : Working directory: /var/log/maxscale
2016-11-30 11:21:56 notice : MariaDB MaxScale 2.0.2 started
2016-11-30 11:21:56 notice : MaxScale is running in process 16944
2016-11-30 11:21:56 notice : Configuration file: /etc/maxscale.cnf
2016-11-30 11:21:56 notice : Log directory: /var/log/maxscale
2016-11-30 11:21:56 notice : Data directory: /var/lib/maxscale
2016-11-30 11:21:56 notice : Module directory: /usr/lib64/maxscale
2016-11-30 11:21:56 notice : Service cache: /var/cache/maxscale
2016-11-30 11:21:56 warning: Number of threads set to 10 which is greater than the number of processors available: 1
2016-11-30 11:21:56 notice : The logging of warning messages has been enabled.
2016-11-30 11:21:56 notice : The logging of notice messages has been enabled.
2016-11-30 11:21:56 notice : The logging of informational messages has been enabled.
2016-11-30 11:21:56 notice : The logging of debug messages has been enabled.
2016-11-30 11:21:56 notice : Initialise CLI router module V1.0.0.
2016-11-30 11:21:56 notice : Loaded module cli: V1.0.0 from /usr/lib64/maxscale/libcli.so
2016-11-30 11:21:56 notice : Initializing statemend-based read/write split router module.
2016-11-30 11:21:56 notice : Loaded module readwritesplit: V1.1.0 from /usr/lib64/maxscale/libreadwritesplit.so
2016-11-30 11:21:56 notice : Initialise the MySQL Galera Monitor module V2.0.0.
2016-11-30 11:21:56 notice : Loaded module galeramon: V2.0.0 from /usr/lib64/maxscale/libgaleramon.so
2016-11-30 11:21:56 notice : No query classifier specified, using default 'qc_sqlite'.
2016-11-30 11:21:56 notice : Loaded module qc_sqlite: V1.0.0 from /usr/lib64/maxscale/libqc_sqlite.so
2016-11-30 11:21:56 info : qc_sqlite loaded.
2016-11-30 11:21:56 info : qc_sqlite: In-memory sqlite database successfully opened for thread 140428695091328.
2016-11-30 11:21:56 debug : qc_sqlite: Token 34 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 34 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 34 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 216 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 125 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 103 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 34 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 103 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 34 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 103 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 34 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 103 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 216 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 103 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 34 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 103 not handled explicitly.
2016-11-30 11:21:56 debug : qc_sqlite: Token 216 not handled explicitly.
2016-11-30 11:21:56 notice : Using encrypted passwords. Encryption key: '/var/lib/maxscale/.secrets'.
2016-11-30 11:21:56 info : Notification service feedback is not enabled.
2016-11-30 11:21:56 error : Fatal: MaxScale 2.0.2 received fatal signal 4. Attempting backtrace.
2016-11-30 11:21:56 error : Commit ID: 14326774065fd211a79e5935414d149fb8a17660 System name: Linux Release string: Red Hat Enterprise Linux Server release 7.3 (Maipo)
2016-11-30 11:21:56 error : /usr/bin/maxscale() [0x403be3]
2016-11-30 11:21:56 error : /lib64/libpthread.so.0(+0xf370) [0x7fb8199e4370]
2016-11-30 11:21:56 error : /home/ec2-user/workspace/_build/connector-c/install/lib/plugin/mysql_clear_password.so(+0x7ea) [0x7fb8133b07ea]
2016-11-30 11:21:56 info : Starting log flushing to disk.

MariaDB Corporation MaxScale /var/log/maxscale/maxscale9.log Wed Nov 30 11:21:56 2016
-----------------------------------------------------------------------
2016-11-30 11:21:56 error : No data read from child process pipe.
2016-11-30 11:21:56 MaxScale is shut down.
-----------------------------------------------------------------------



 Comments   
Comment by markus makela [ 2016-12-05 ]

This is caused by the fact that connector authentication plugins aren't used by MaxScale. The hard-coded path should instead be configurable to allow authentication plugins to be used.

Comment by markus makela [ 2017-03-15 ]

Added configurable plugin directory.

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