[MDEV-19015] mysql_plugin doesn't read all server option groups Created: 2019-03-21 Updated: 2019-04-25 Resolved: 2019-04-25 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Configuration, Scripts & Clients |
| Affects Version/s: | 10.4.3, 10.1.38, 10.2.22, 10.3.13 |
| Fix Version/s: | 10.2.24, 10.1.39, 10.3.15, 10.4.5 |
| Type: | Bug | Priority: | Major |
| Reporter: | Geoff Montee (Inactive) | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | beginner-friendly | ||
| Issue Links: |
|
||||||||
| Description |
|
The mysql_plugin utility doesn't read all server option groups from the configuration file. It only reads the [mysqld] option group. This is because it executes the following:
Instead of the following:
See the following function: |
| Comments |
| Comment by Anel Husakovic [ 2019-04-08 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi I have done this:
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?
2. auth_socket
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Geoff Montee (Inactive) [ 2019-04-08 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
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
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].
Yes, obviously we would also need to update the documentation if this gets fixed.
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 | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Anel Husakovic [ 2019-04-08 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi GeoffMontee thanks.
Even if `no-defaults` is used the situation is the same
Even if we provide `lc_messages_dir` and `lc_messages` it doesn't work
Regarding the `auth_socket` in 10.2 the situation is the same.
Invoking:
In 10.4 since there is statically linking what should `--plugin_dir` be? | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Geoff Montee (Inactive) [ 2019-04-08 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi anel,
It sounds like the mysql_plugin utility may have some kind of bug that may prevent it from working when run from a source tree. This may be another bug that needs to be debugged.
I'm not sure that I understand the question. --plugin-dir is for shared libraries for dynamically linked plugins. If a plugin is statically linked, then --plugin-dir is irrelevant. I don't think that the mysql_plugin utility can be used with statitcally linked plugins at all. | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Anel Husakovic [ 2019-04-08 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi GeoffMontee | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2019-04-09 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
An installed mysql has the plugin shared libraries in their separate build directories. mysql_install_db only uses the auth_socket so fakes plugin-dir to "$builddir/plugin/auth_socket". Once installed they end up in the same directory so its less of a problem. | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Anel Husakovic [ 2019-04-09 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
links to | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Geoff Montee (Inactive) [ 2019-04-10 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi anel, Your PR is for MariaDB 10.2. A bug should be fixed in the earliest branch that we want the fix in. Don't you think that a bug this simple and easy to fix should be fixed in MariaDB 10.1 too? Or maybe even as far back as MariaDB 5.5? | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Anel Husakovic [ 2019-04-11 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Isn't 10.1 getting close to the EOL ? | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Geoff Montee (Inactive) [ 2019-04-11 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi anel, See here: https://mariadb.org/about/maintenance-policy/ MariaDB 10.1 doesn't reach EOL for another 1.5 years. You might be thinking of MariaDB 10.0. That reached EOL a couple weeks ago. | |||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Anel Husakovic [ 2019-04-12 ] | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi GeoffMontee |