It is documented that mysql_plugin is using mysqld group., and I curious why would we need this, since only 3 arguments are read (basedir, datadir and plugindir) from config?
We need to fix this because [mysqld] is not the only server option group. basedir, datadir, plugindir can also be ready from server option groups like [server] and [mariadb]. See here:
https://mariadb.com/kb/en/library/configuring-mariadb-with-option-files/#server-option-groups
Is the motivation to have those parameters used in other groups ?
Yes. [mysqld] is not the only server option group. Those parameters can be set in any server option group, so mysql_plugin should read all of them, not just [mysqld].
If this patch get applied we need to change this documentation also.
Yes, obviously we would also need to update the documentation if this gets fixed.
However I have a problem in applying this plugin on rocksdb and auth_socket(this is my first time to use this plugin), so can you please let me know how to proceed.
The unix_socket authentication plugin is statically linked into the server in MariaDB 10.4. If you are testing with MariaDB 10.4, then you cannot test mysql_plugin with the unix_socket authentication plugin.
For your rocksdb issue, the server is complaining that it can't find the error message file at /home/anel/workspace/server/share/errmsg.sys. This looks unrelated to rocksdb and to mysql_plugin. It looks like you are running mysql_plugin from your source tree, and the file might not have been built, or if it was built, then that file isn't where the server expects it should be in a source tree. If that is the case, then you might need to set lc_messages or lc_messages_dir.
https://mariadb.com/kb/en/library/server-system-variables/#lc_messages
https://mariadb.com/kb/en/library/server-system-variables/#lc_messages_dir
Hi I have done this:
# Found tool 'my_print_defaults' as '../extra/my_print_defaults'.
# Command: ../extra/my_print_defaults --mysqld > /tmp/txtqdKhB7
It is documented that mysql_plugin is using mysqld group., and I curious why would we need this, since only 3 arguments are read (basedir, datadir and plugindir) from config?
Is the motivation to have those parameters used in other groups ?
If this patch get applied we need to change this documentation also.
However I have a problem in applying this plugin on rocksdb and auth_socket(this is my first time to use this plugin), so can you please let me know how to proceed.
I'm working on 10.4. in debug mode.
1. rocksdb
I got the error that messagefile cannot be obtained in bootstrap mode:, although the plugin is loaded!
# Found tool 'my_print_defaults' as '../extra/my_print_defaults'.
# Command: ../extra/my_print_defaults --mysqld > /tmp/txtmW8I4K
# basedir = /home/anel/workspace/server
# plugin_dir = /home/anel/workspace/server/storage/rocksdb
# datadir = /home/anel/workspace/datadir-10.4/
# plugin_ini = ./rock.ini
# Found tool 'mysqld' as '/home/anel/workspace/server/sql/mysqld'.
# Found plugin 'rocksdb' as '/home/anel/workspace/server/storage/rocksdb/ha_rocksdb.so'
# Enabling rocksdb...
# Query: REPLACE INTO mysql.plugin VALUES ('rocksdb','ha_rocksdb.so');
# Command: /home/anel/workspace/server/sql/mysqld --no-defaults --bootstrap --datadir=/home/anel/workspace/datadir-10.4/ --basedir=/home/anel/workspace/server < /tmp/sqlSOMLR9
2019-04-08 9:08:26 0 [Warning] Changed limits: max_open_files: 1024 max_connections: 151 (was 151) table_cache: 421 (was 2000)
2019-04-08 9:08:26 0 [ERROR] Aborting
ERROR: Unexpected result from bootstrap. Error code: 256.
2. auth_socket
Following
MDEV-18206and documentation for authentication pluginI cannot find auth_socket.so in order to use it in `plugin_dir`
auth_socket.c CMakeFiles cmake_install.cmake CMakeLists.txt CTestTestfile.cmake libauth_socket.a