MariaDB / mariadb-docker

Docker Official Image packaging for MariaDB
https://mariadb.org
GNU General Public License v2.0
770 stars 438 forks source link

Unable to install plugins #372

Closed garethgreenaway closed 3 years ago

garethgreenaway commented 3 years ago

Greetings,

I am attempting to use the MariaDB docker images to test out some functionality in the Salt project and everything is working great exception when attempting to install plugins. I've tried both the auth_socket and auth_pam plugins with versions 10.1 - 10.5 and receive the following messages when running the INSTALL PLUGIN command at the CLI.

MySQL Error 1127: Can't find symbol 'auth_pam' in library

MySQL Error 1127: Can't find symbol 'auth_socket' in library

I did notice that auth_socket was not available in the 10.5 image, but the auth_pam file is available in all the images.

Thanks.

grooverdan commented 3 years ago

auth_socket has been built in for a while. Check with show plugins - | unix_socket | ACTIVE | AUTHENTICATION | NULL | GPL |

Pam on 10.5 (from https://mariadb.com/kb/en/authentication-plugin-pam/#installing-the-plugin)

MariaDB [(none)]>  INSTALL SONAME 'auth_pam';
Query OK, 0 rows affected (0.006 sec)

MariaDB [(none)]> pager grep AUTHENTICATION
PAGER set to 'grep AUTHENTICATION'
MariaDB [(none)]> show plugins
    -> ;
| mysql_native_password         | ACTIVE   | AUTHENTICATION     | NULL        | GPL     |
| mysql_old_password            | ACTIVE   | AUTHENTICATION     | NULL        | GPL     |
| unix_socket                   | ACTIVE   | AUTHENTICATION     | NULL        | GPL     |
| pam                           | ACTIVE   | AUTHENTICATION     | auth_pam.so | GPL     |
garethgreenaway commented 3 years ago

Okay. That error makes more sense. I don't need to use the plugins just install one.

grooverdan commented 3 years ago

note #363 about unix socket permissions and containers. Happy to take packing improvement suggestions if something is complicated to acheive.

garethgreenaway commented 3 years ago

Sorry. My comment wasn't overly clear. We have a module within Salt that interacts with MySQL database serves including MariaDB. One of the functions within the module is one that installs a plugin, I've been writing some automated tests to test the various functionality and ran into an issue when attempting to install the two plugins that I mentioned, the errors now make more sense. I just need to find a plugin that I can install to test the functionality. The images are working great otherwise and I wouldn't consider this particular situation a flaw.

grooverdan commented 3 years ago

Many others to choose from (10.5):

ls /usr/lib/mysql/plugin/
auth_ed25519.so    dialog.so               ha_blackhole.so   handlersocket.so         query_cache_info.so     server_audit.so
auth_pam.so        disks.so                ha_federated.so   locales.so               query_response_time.so  simple_password_check.so
auth_socket.so     file_key_management.so  ha_federatedx.so  metadata_lock_info.so    semisync_master.so      sql_errlog.so
client_ed25519.so  ha_archive.so           ha_sphinx.so      mysql_clear_password.so  semisync_slave.so       wsrep_info.so

Happy testing.