mariadb/cmake
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
..
build_configurations CMake cleanup 2021-03-23 17:20:17 +01:00
Internal/CPack MDEV-24292 support semi-independent versioning for sub-packages 2021-01-12 16:47:23 +01:00
os cleanup: os_thread_sleep() -> std::this_thread::sleep_for() 2021-03-19 11:44:03 +03:00
abi_check.cmake Part2: MDEV-20837 Add MariaDB_FUNCTION_PLUGIN 2019-10-16 21:47:41 +04:00
aws_sdk.cmake move aws_sdk to extra/ 2019-02-21 14:48:04 +01:00
build_depends.cmake MDEV-19740 Debug build of 10.3.15 FTBFS 2019-08-19 10:38:24 +03:00
character_sets.cmake A cleanup for MDEV-19897 Rename source code variable names from utf8 to utf8mb3 2019-06-28 21:12:57 +04:00
check_compiler_flag.cmake Merge 10.1 into 10.2 2019-06-12 10:30:01 +03:00
check_linker_flag.cmake MDEV-23887: check_linker_flags correct for old cmake compatibility 2020-10-21 19:11:02 +11:00
compile_flags.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
configurable_file_content.in
configure.pl Merge 10.2 into 10.3 2020-07-02 06:17:51 +03:00
cpack_deb.cmake MDEV-24292 support semi-independent versioning for sub-packages 2021-01-12 16:47:23 +01:00
cpack_rpm.cmake Merge 10.5 into 10.6 2021-01-14 16:13:31 +02:00
cpack_source_ignore_files.cmake don't include .git files in source packages 2020-05-27 15:56:40 +02:00
cpu_info.cmake Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
create_initial_db.cmake MDEV-9077 Use sys schema in bootstrapping, incl. mtr 2021-03-18 08:02:48 +01:00
ctest.cmake Revert "MDEV-16075: Workaround to run MTR test suite for make test" 2018-06-20 23:27:23 +02:00
do_abi_check.cmake Adding -D__cplusplus into the ABI check command line 2019-07-11 16:45:18 +04:00
dtrace.cmake Merge 10.2 into 10.3 2020-07-02 06:17:51 +03:00
dtrace_prelink.cmake Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
FindBISON.cmake cmake: quieter 2020-05-31 11:29:43 +02:00
FindJava.cmake make CONNECT's finding Java and JNI less verbose 2016-09-12 17:46:35 +02:00
FindJNI.cmake copy-paste error fixed 2016-09-22 13:07:38 +02:00
FindLIBAIO.cmake CMake cleanup 2021-03-23 17:20:17 +01:00
FindLZ4.cmake make rocksdb cmake checks less verbose on repeat 2020-07-01 09:21:23 +02:00
FindPMEM.cmake CMake cleanup 2021-03-23 17:20:17 +01:00
FindURING.cmake CMake cleanup 2021-03-23 17:20:17 +01:00
FindZSTD.cmake make rocksdb cmake checks less verbose on repeat 2020-07-01 09:21:23 +02:00
for_clients.cmake MDEV-24498 mysql_config reports wrong libs for libmysqld 2021-02-01 20:05:54 +01:00
info_bin.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
info_macros.cmake.in Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
info_src.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
install_layout.cmake INSTALL_UNIX_ADDRDIR for debian to /run/mysqld/mysqld.sock 2020-06-18 20:19:50 +03:00
install_macros.cmake Merge 10.4 into 10.5 2021-03-19 13:09:21 +02:00
jemalloc.cmake cleanup: use predefined CMAKE_DL_LIBS 2020-10-23 13:37:26 +02:00
libutils.cmake don't use deprecated <target>_LIB_DEPENDS. CMP0073 2020-10-24 11:15:51 +02:00
maintainer.cmake Remove -Werror for AIX 2020-12-16 08:07:04 +11:00
make_dist.cmake.in Merge 10.4 into 10.5 2021-02-24 08:54:44 +02:00
mariadb_connector_c.cmake make install: don't assume $DESTDIR exists 2020-09-14 14:31:50 +02:00
merge_archives_unix.cmake libutils: merge_archives_unix 2020-06-18 14:15:36 +03:00
misc.cmake cleanup: CPACK_RPM_* package description 2019-07-10 09:02:10 +02:00
mysql_add_executable.cmake MDEV-21303 Make executables MariaDB named 2020-03-21 20:20:29 +01:00
mysql_version.cmake MDEV-24292 support semi-independent versioning for sub-packages 2021-01-12 16:47:23 +01:00
numa.cmake cmake: shut up repeated NUMA status messages 2018-06-03 23:25:43 +02:00
package_name.cmake Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
pcre.cmake MDEV-25123 support MSVC ASAN 2021-03-12 08:44:55 +01:00
plugin.cmake MDEV-24292 support semi-independent versioning for sub-packages 2021-01-12 16:47:23 +01:00
readline.cmake cmake: support new libedit interface 2019-09-20 10:27:27 +02:00
sign.cmake.in MDEV-20570 : Packaging fails "The specified timestamp server either could not be reached" 2019-09-12 15:15:33 +02:00
ssl.cmake Merge 10.3 into 10.4 2020-10-29 13:38:38 +02:00
stack_direction.c Update FSF Address 2019-05-11 21:29:06 +03:00
submodules.cmake Merge 10.3 into 10.4 2020-05-30 11:04:27 +03:00
symlinks.cmake MDEV-21303: Fix man page packaging for new mariadb-* named binaries 2020-04-05 00:24:24 +03:00
systemd.cmake MDEV-5536: add systemd socket activation 2021-03-28 13:53:55 +11:00
tags.cmake Update FSF Address 2019-05-11 21:29:06 +03:00
versioninfo.rc.in Update FSF Address 2019-05-11 21:29:06 +03:00
win_compatibility.manifest MDEV-12207 Include windows compatibility manifest into executable to make GetVersionEx work correctly 2017-03-08 11:20:03 +00:00
wsrep.cmake always build wsrep libraries static 2019-08-26 23:33:42 +02:00
zlib.cmake Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00