[PS 8.4.4] Keyvault component doen't launch

Has anyone tested the PS 8.4 component_keyring_vault component?

With the global manifest I have this error:

`May 20 12:26:54 server_name systemd[1]: Starting Percona Server...`
`May 20 12:26:54 server_name mysqld[3277351]: 2025-05-20T10:26:54Z UTC - mysqld got signal 11 ;`
`May 20 12:26:54 server_name mysqld[3277351]: Signal SIGSEGV (Address not mapped to object) at address 0x1b`
`May 20 12:26:54 server_name mysqld[3277351]: Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.`
`May 20 12:26:54 server_name mysqld[3277351]: BuildID[sha1]=`
`May 20 12:26:54 server_name mysqld[3277351]: Server Version:  Percona Server (GPL), Release '4', Revision '844fde07'`
`May 20 12:26:54 server_name mysqld[3277351]: Thread pointer: 0x0`
`May 20 12:26:54 server_name mysqld[3277351]: Attempting backtrace. You can use the following information to find out`
`May 20 12:26:54 server_name mysqld[3277351]: where mysqld died. If you see no messages after this, something went`
`May 20 12:26:54 server_name mysqld[3277351]: terribly wrong...`
`May 20 12:26:54 server_name mysqld[3277351]: stack_bottom = 0 thread_stack 0x10000`
`May 20 12:26:54 server_name mysqld[3277351]:  #0 0x561edf48f2eb _Z19my_print_stacktracePKhm`
`May 20 12:26:54 server_name mysqld[3277351]:  #1 0x561ede585452 <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]:  #2 0x561ede5858b4 _Z19handle_fatal_signaliP9siginfo_tPv`
`May 20 12:26:54 server_name mysqld[3277351]:  #3 0x7f1a0224813f <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]:  #4 0x7f1a01a87b78 <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]:  #5 0x7f1a0197ec37 <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]:  #6 0x7f1a0198f6c5 <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]:  #7 0x561edfde2bda _ZN23log_builtins_string_imp11substitutevEPcmPKcP13__va_list_tag`
`May 20 12:26:54 server_name mysqld[3277351]:  #8 0x7f19de69d9f2 <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]:  #9 0x7f19de69dbb5 <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]:  #10 0x7f19de6b0a4f <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]:  #11 0x561edfdf1692 _Z41set_srv_keyring_implementation_as_defaultv`
`May 20 12:26:54 server_name mysqld[3277351]:  #12 0x561ede2a5e8e _Z11mysqld_mainiPPc`
`May 20 12:26:54 server_name mysqld[3277351]:  #13 0x7f1a01939d79 __libc_start_main`
`May 20 12:26:54 server_name mysqld[3277351]:  #14 0x561ede0cbe19 _start`
`May 20 12:26:54 server_name mysqld[3277351]:  #15 0xffffffffffffffff <unknown>`
`May 20 12:26:54 server_name mysqld[3277351]: Please help us make Percona Server better by reporting any`
`May 20 12:26:54 server_name mysqld[3277351]: bugs at ` `https://bugs.percona.com/`
`May 20 12:26:54 server_name mysqld[3277351]: You may download the Percona Server operations manual by visiting`
`May 20 12:26:54 server_name mysqld[3277351]: ` `http://www.percona.com/software/percona-server/` `. You may find information`
`May 20 12:26:54 server_name mysqld[3277351]: in the manual which will help you identify the cause of the crash.`
`May 20 12:26:54 server_name systemd[1]: mysql.service: Main process exited, code=exited, status=2/INVALIDARGUMENT`
`May 20 12:26:54 server_name systemd[1]: mysql.service: Failed with result 'exit-code'.`
`May 20 12:26:54 server_name systemd[1]: Failed to start Percona Server.`
`May 20 12:26:55 server_name systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.`
`May 20 12:26:55 server_name systemd[1]: Stopped Percona Server.`
`May 20 12:26:55 server_name systemd[1]: mysql.service: Start request repeated too quickly.`
`May 20 12:26:55 server_name systemd[1]: mysql.service: Failed with result 'exit-code'.`
`May 20 12:26:55 server_name systemd[1]: Failed to start Percona Server.`

With the local manifest, PS starts but the component is not active.

Hello @Valentin_TRAEN1

what steps you followed ?

If you are upgrading from 8.0 to 8.4 then,
Here is doc for Transition a plugin to a component:

Please try this doc steps for transitioning a plugin to a component.

Hi,

At the moment I’m starting with a fresh install of PS 8.4 (no upgrade) and just trying to get it working.
I followed: Use the keyring vault component - Percona Server for MySQL

As soon as I create the file /usr/sbin/mysqld.my containing

{
 "components": "file://component_keyring_vault"
}

PS crash. On the other hand, if I do the same thing with the Oracle component

{
  "components": "file://component_keyring_file"
}

there, PS starts (but it is not the component I need!).
I also specify that each time I start with a new installation.

I also have created the /usr/lib/mysql/plugin/component_keyring_vault.cnf file with :

{
"vault_url" : "[hidden]",
"secret_mount_point" : "[hidden]_kv",
"secret_mount_point_version" : "AUTO",
"token" : "hvs.[hidden]",
"vault_ca" : "[hidden]"
}

which contains the same information as the module in PS 8.0

Please use this document

for configuration file format and add the values there.

Also, is your operating system 64 bit?

Is your plugin directory proper?
You can check the plugin directory using your variables.

Also check

rpm -qa |grep -i percona-server

Component should load when you add a manifest file and just look for configuration file in the plugin directory and start.
If it could not load component, the mysql start should not fail. The component will just be inactive.

Hi,
This is the documentation I used.

Yes, it’s a 64 bit Debian 11. Other plugins / components seems to work well except this one, but they are not launched “early”.

The result of dpkg -l | grep -i percona-server :

ii  percona-server-client             8.4.4-4-1.bullseye                 amd64        Percona Server database client binaries
ii  percona-server-common             8.4.4-4-1.bullseye                 amd64        Percona Server database common files (e.g. /etc/mysql/my.cnf)
ii  percona-server-server             8.4.4-4-1.bullseye                 amd64        Percona Server database server binaries

Other than this problem, PS works fine. I use the audit component (which seems buggy but still works), ldap authentication…

I have declared my manifest and my configuration is there (see the file paths that I indicated above).

If you can get it to work on your machine, can you tell me what files you created/configured, where you put them and with what rights/owner? I tried everything…

I upgraded from 8.0 plugin to 8.4 and It works fine

mysql> select * from keyring_component_status;
+----------------------------+---------------------------+
| STATUS_KEY                 | STATUS_VALUE              |
+----------------------------+---------------------------+
| Component_name             | component_keyring_vault   |
| Author                     | Percona Corporation       |
| License                    | GPL                       |
| Implementation_name        | component_keyring_vault   |
| Version                    | 1.0                       |
| Component_status           | Active                    |
| timeout                    | 15                        |
| vault_url                  | https://x.x.x.x:8200  |
| secret_mount_point         | secretv2/mysql            |
| vault_ca                   | /etc/vault_ca/support.crt |
| secret_mount_point_version | AUTO                      |
+----------------------------+---------------------------+
11 rows in set (0.00 sec)

mysql> \s
--------------
mysql  Ver 8.0.41-32 for Linux on x86_64 (Percona Server (GPL), Release 32, Revision b8e378ec)

Connection id:		212
Current database:	performance_schema
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.4.4-4 Percona Server (GPL), Release 4, Revision 844fde07

My config is here,

[root@node0 /]# cat /usr/sbin/mysqld.my 
{
 "read_local_manifest": false,
 "components": "file://component_keyring_vault"
}

And config file in plugin directory

[root@node0 /]# cat /usr/lib64/mysql/plugin/component_keyring_vault.cnf 
{
 "timeout": 15,
 "vault_url": "https://x.x.x.x:8200",
 "secret_mount_point": "secretv2/mysql",
 "secret_mount_point_version": "AUTO",
 "token": "abcd",
 "vault_ca": "/etc/vault_ca/support.crt"
}

Make sure your config file has proper format.
Looking at your config file, the spacing doesn’t look good.