mariadb/include/mysql
Daniel Black 460d480c74 MDEV-5536: add systemd socket activation
Systemd has a socket activation feature where a mariadb.socket
definition defines the sockets to listen to, and passes those
file descriptors directly to mariadbd to use when a connection
occurs.

The new functionality is utilized when starting as follows:

  systemctl start mariadb.socket

The mariadb.socket definition only needs to contain the network
information, ListenStream= directives, the mariadb.service
definition is still used for service instigation.

When mariadbd is started in this way, the socket, port, bind-address
backlog are all assumed to be self contained in the mariadb.socket
definition and as such the mariadb settings and command line
arguments of these network settings are ignored.
See man systemd.socket for how to limit this to specific ports.

Extra ports, those specified with extra_port in socket activation
mode, are those with a FileDescriptorName=extra. These need
to be in a separate service name like mariadb-extra.socket and
these require a Service={mariadb.service} directive to map to the
original service. Extra ports need systemd v227 or greater
(not RHEL/Centos7 - v219) when FileDescriptorName= was added,
otherwise the extra ports are treated like ordinary ports.

The number of sockets isn't limited when using systemd socket activation
(except by operating system limits on file descriptors and a minimal
amount of memory used per file descriptor). The systemd sockets passed
can include any ownership or permissions, including those the
mariadbd process wouldn't normally have the permission to create.

This implementation is compatible with mariadb.service definitions.
Those services started with:

  systemctl start mariadb.service

does actually start the mariadb.service and used all the my.cnf
settings of sockets and ports like it previously did.
2021-03-28 13:53:55 +11:00
..
psi MDEV-5536: add systemd socket activation 2021-03-28 13:53:55 +11:00
auth_dialog_client.h Update FSF address 2019-05-10 20:52:00 +03:00
client_plugin.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
client_plugin.h.pp
plugin.h Make maria_data_root const char* 2021-02-08 12:16:29 +02:00
plugin_audit.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
plugin_audit.h.pp Adding -D__cplusplus into the ABI check command line 2019-07-11 16:45:18 +04:00
plugin_auth.h Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00
plugin_auth.h.pp Adding -D__cplusplus into the ABI check command line 2019-07-11 16:45:18 +04:00
plugin_auth_common.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
plugin_data_type.h cleanup: data type plugins 2019-10-31 11:19:39 +01:00
plugin_data_type.h.pp cleanup: data type plugins 2019-10-31 11:19:39 +01:00
plugin_encryption.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
plugin_encryption.h.pp Adding -D__cplusplus into the ABI check command line 2019-07-11 16:45:18 +04:00
plugin_ftparser.h document that a fulltext parser plugin can replace mysql_add_word callback 2020-12-10 08:45:20 +01:00
plugin_ftparser.h.pp Adding -D__cplusplus into the ABI check command line 2019-07-11 16:45:18 +04:00
plugin_function.h Part1: MDEV-20837 Add MariaDB_FUNCTION_PLUGIN 2019-10-16 21:40:30 +04:00
plugin_function.h.pp Part1: MDEV-20837 Add MariaDB_FUNCTION_PLUGIN 2019-10-16 21:40:30 +04:00
plugin_password_validation.h Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00
plugin_password_validation.h.pp Adding -D__cplusplus into the ABI check command line 2019-07-11 16:45:18 +04:00
service_base64.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
service_debug_sync.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_encryption.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_encryption_scheme.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_json.h MDEV-5313 Improving audit API. 2019-01-18 03:18:02 +04:00
service_kill_statement.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_logger.h Merge branch '5.5' into 10.1 2019-05-11 19:15:57 +03:00
service_md5.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_my_crypt.h Update WolfSSL 2020-05-08 11:51:03 +02:00
service_my_print_error.h remove incorrect #ifdef 2019-08-26 23:33:42 +02:00
service_my_snprintf.h MDEV-22545: my_vsnprintf behaves not as in C standard 2020-05-24 21:27:08 +02:00
service_progress_report.h Merge branch '5.5' into 10.1 2019-05-11 19:15:57 +03:00
service_sha1.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_sha2.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_thd_alloc.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
service_thd_autoinc.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_thd_error_context.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_thd_mdl.h MDEV-16678 Prefer MDL to dict_sys.latch for innodb background tasks 2019-12-10 15:42:50 +02:00
service_thd_rnd.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
service_thd_specifics.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_thd_timezone.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_thd_wait.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
service_wsrep.h Merge 10.4 into 10.5 2021-03-19 13:09:21 +02:00
services.h Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00