Commit graph

2511 commits

Author SHA1 Message Date
Julius Goryavsky
c49ebd2622 MDEV-21905: Galera test galera_var_notify_cmd causes hang
The problem is related to performing operations without switching
wsrep off, this commit fixes this and allows disabled tests.
2022-10-11 10:15:09 +02:00
Julius Goryavsky
19f0b96d53 MDEV-27682: bundled wsrep_notify.sh causes mariadbd to freeze during start
This commit adds automation that will reduce the possibility
of user errors when customizing wsrep_notify.sh (in particular
caused by user-specified parameters). Now all leading and trailing
spaces are removed from the user-specified parameters and automatic
port and host address substitution has been added to scripts, as
well as automatic password substitution to the client command line,
only if it is specified in the wsrep_notify.sh and not as empty
strings. Also added support for automatic substitution of the all
SSL-related parameters and improved parsing for ipv6 addresses
(to allow "[...]" notation for ipv6 addresses). Also added a
test to check if the wsrep notify script will works with SSL.
2022-10-04 13:16:17 +02:00
Sergei Golubchik
6313702278 MDEV-26568 RPM logic prohibiting server major upgrade no longer works as expected
prevent %{VERSION} in the shell command to be expanded by rpmbuild
2022-07-05 21:09:59 +02:00
GuiXiaoDi
9c207c88c1 mysql.server.sh fix for non-Red Hat platforms
The else condition is meant to be here to define the functions
if the Red Hat include file isn't there.

Fixes: commit 467011bcac / MDEV-26614

RedHat -> Red Hat by Daniel Black
2022-06-09 13:09:44 +10:00
Marko Mäkelä
5b237e5965 Merge 10.2 into 10.3 2022-02-17 10:53:58 +02:00
Jonathan Sabbe
9f429a2dd1 fix: Fix 'unknown type usermodehelper_t' issue after upgrading to MariaDB 10.4.24 2022-02-17 15:30:58 +11:00
Oleksandr Byelkin
41a163ac5c Merge branch '10.2' into 10.3 2022-01-29 15:41:05 +01:00
Monty
008c02c987 MDEV-27477 Remaining SUSE patches for 10.2+
This patch fixes the logrotate config file for mariadb.
Read more at https://www.novell.com/support/kb/doc.php?id=7005219

Source:
https://github.com/openSUSE/mysql-packaging/blob/master/patches/mysql-patches/mariadb-10.0.15-logrotate-su.patch
2022-01-27 16:12:16 +02:00
Monty
93a5fb0025 MDEV-27477 Remaining SUSE patches for 10.2+
This patch let's you specify not only user to use but also group that
MariaDB should use.

Original patch:
https://github.com/openSUSE/mysql-packaging/blob/master/patches/mysql-patches/mariadb-10.2.3-group.patch

Author:   Kristyna Streitova
Reviewer: monty@mariadb.org
2022-01-27 14:43:21 +02:00
Daniel Black
8b3b73808d MDEV-27635: selinux: allow read of /proc/sys/kernel/core_pattern
Prevent the error:

setroubleshoot[23678]: SELinux is preventing /usr/libexec/mysqld from read access on the file core_pattern.

Reading of the core pattern occurs on crash as added in MDEV-15051

RHEL-7.7

$  ls -laZ /proc/sys/kernel/core_pattern
-rw-r--r--. root root system_u:object_r:usermodehelper_t:s0 /proc/sys/kernel/core_pattern
2022-01-27 10:50:50 +11:00
Tuukka Pasanen
25f598f54f MDEV-26317: Add SYSTEMD_READWRITEPATH variable to mariadb.service.in-file
Add SYSTEMD_READWRITEPATH-variable to mariadb{@,}.service.in to make sure that
if one is not building RPM or DEB packages then make sure there is ReadWritePaths
directive is defined in systemd service file.

This ensures that tar-ball installation has permissions to write database default
installation path (default: /usr/local/mysql/data) even if it's located
under /usr. Writing to that location is prevented by 'ProtectSystem=full'
systemd directive by default.

Prefixing the path with "-" in systemd causes there to not be an error if the
path doesn't exist. This may occur if the user has configured a datadir
elsewhere.

Reviewer: Daniel Black
2022-01-07 17:51:20 +11:00
Daniel Black
5d57e04b27 MDEV-27386: cpack rpm libsepol installed detects verison incorrectly
... when two packages are installed.

(fc35 with i686 and x86_64 packages of libsepol installed).
$ rpm -q --qf "%{VERSION}" libsepol
3.33.3

Restricting the version to the current achitecture generates
a much more obtainable version dependency.

$ rpm -q --qf "%{VERSION}" libsepol.x86_64
3.3

This make dependency resolution easier preventing:
$ sudo dnf localinstall  MariaDB-server-10.8.0-1.fc35.x86_64.rpm ...
Last metadata expiration check: 2:06:49 ago on Thu 30 Dec 2021 14:02:32.
Error:
 Problem 1: conflicting requests
  - nothing provides libsepol >= 3.33.3 needed by MariaDB-server-10.8.0-1.fc35.x86_64

The CMAKE_SYSTEM_PROCESSOR is used in the generation of architecture
filenames so its preduent to just use the same version.
2021-12-30 19:48:26 +11:00
Marko Mäkelä
d7aa81c862 Merge 10.2 into 10.3 2021-09-24 16:51:12 +03:00
Alexey Bychko
467011bcac MDEV-26612 Two different ways to start MariaDB service can cause data corruption
RedHat systems have both files for lsb and init functions.
Old code was written as if/else, so second file (RedHat-specific) was not processed.
So, systemd redirect didn't work, because its logic is described in
RedHat-specific functions file
2021-09-24 15:02:47 +07:00
Sergei Golubchik
6190a02f35 Merge branch '10.2' into 10.3 2021-07-21 20:11:07 +02:00
Alexey Bychko
165a6dc97a MDEV-26119 RPM packages on RHEL-8 require the latest minor
changed rpm db query to output only version for libsepol and not release/buildnumber
2021-07-13 14:30:40 +07:00
Marko Mäkelä
c9a85fb1b1 Merge 10.2 into 10.3 2021-06-21 09:07:40 +03:00
Sergei Golubchik
35b57c37bb MDEV-25617 10.5.10 upgrade: "scriptlet / line 6 : [: is-active : binary operator expected" 2021-06-16 12:26:43 +07:00
Marko Mäkelä
0785771e57 Merge 10.2 into 10.3 2021-04-27 08:42:51 +03:00
Daniel Black
a35cde8cd8 MDEV-25513: raise systemd LimitNOFILE limits to match server defaults
Quoting MDEV reporter Daniel Lewart:

Starting MariaDB with default configuration causes the following problems:

    "[Warning] Could not increase number of max_open_files to more than 16384 (request: 32186)"
    silently reduces table_open_cache_instances from 8 (default) to 4

Default Server System Variables:

    extra_max_connections = 1
    max_connections = 151
    table_open_cache = 2000
    table_open_cache_instances = 8
    thread_pool_size = 4

LimitNOFILE=16834 is in the following files:

    support-files/mariadb.service.in
    support-files/mariadb@.service.in

Looking at sql/mysqld.cc lines 3837-3917:
wanted_files= (extra_files + max_connections + extra_max_connections +
tc_size * 2 * tc_instances);
wanted_files+= threadpool_size;

Plugging in the default values:
wanted_files = (30 + 151 + 1 + 2000 * 2 * 8 + 4) = 32186

However, systemd configuration has LimitNOFILE = 16384, which is far smaller.

I suggest increasing LimitNOFILE to 32768.
2021-04-27 08:17:40 +10:00
Marko Mäkelä
d6d3d9ae2f Merge 10.2 into 10.3 2021-03-31 08:01:03 +03:00
Alexey Bychko
c0ca3c4ffa MDEV-25240 minor upgrade does not perform server restart
we need to stop server instance on upgrade, but it may be started either by SysV init script or by SystemD.
this commit adds `mysql` target to `systemctl stop` call.
`mysql` may be the name of initscript or an alias while `mariadb` is
a systemd unit file.
2021-03-29 12:19:57 +07:00
Alexey Bychko
7d5ec9f1ae fixed typo in postinst script 2021-03-23 12:39:31 +07:00
Alexey Bychko
9e57bd278f fixed typo in postinst script 2021-03-23 12:37:55 +07:00
Marko Mäkelä
19052b6deb Merge 10.2 into 10.3 2021-03-18 12:34:48 +02:00
Daniel Black
6974058121 mariadb.pc: plugindir is used
As evidenced by converstation on Zulip,
knowing where to install a plugin is important too.
2021-03-18 14:35:55 +11:00
Marko Mäkelä
d9d9c30b70 Merge 10.2 into 10.3 2020-09-22 21:12:48 +03:00
Marko Mäkelä
9d0ee2dcb7 Merge 10.1 into 10.2 2020-09-22 15:21:43 +03:00
Daniel Black
4c19227929 systemd: mariadb@bootstrap - clear ExecStartPre and ExecStartPost
This is just to make sure no ExecStartPre/Post actions from the
multi-instance MariaDB service definition are executed
when a user attempts to start mariadb@bootstrap.

Fixes: 3723c70a30
2020-09-22 15:37:44 +10:00
Oleksandr Byelkin
c32f71af7e Merge branch '10.2' into 10.3 2020-08-03 13:41:29 +02:00
Oleksandr Byelkin
ef7cb0a0b5 Merge branch '10.1' into 10.2 2020-08-02 11:05:29 +02:00
Daniel Black
c81a2d2322 MDEV-23088: Change LimitNOFILE default from 16364 to 16384
Correct to a true 2^14 rather than some different number that
was actually just a number typo.

Bug report thanks to Hartmut Holzgraefe.
2020-07-28 08:08:20 +10:00
Marko Mäkelä
b3e395a13e Merge 10.2 into 10.3 2020-06-06 18:50:25 +03:00
Julius Goryavsky
5f55f69e4a Merge 10.1 into 10.2 2020-06-05 18:32:37 +02:00
Bernard Spil
40dbf0ea0e Fix duplicate word
both both -> both
Closes #1560
2020-06-02 12:57:31 +02:00
Marko Mäkelä
84db10f27b Merge 10.2 into 10.3 2020-04-15 09:56:03 +03:00
Marko Mäkelä
ccaec18b39 Merge 10.1 into 10.2 2020-04-14 16:13:35 +03:00
Marko Mäkelä
26f0cd8afc Merge 5.5 into 10.1 2020-04-14 15:43:12 +03:00
Julius Goryavsky
c8e0c524af MDEV-20676: systemd script not working
When trying to start mariadb via systemctl, WSREP failed
to start mysqld for wsrep recovery, because the binary
"galera-recovery" is neither searching the mysqld in the
same folder as the binary itself nor in the path variable
but instead expects the root to be /usr/local/mysql.

This fix changes the current directory to the desired
directory before starting mysqld.
2020-04-08 13:02:09 +02:00
Hannu Hartikainen
64b70b09e6 my.cnf: mention that config files must be *.cnf
It took me a long time to debug why my configs were not being loaded,
and judging from online discussions I'm not the only one. Make the
comment in the default my.cnf a bit more helpful.

The !includedir directive is implemented in mysys/my_default.c.

- f_extensions[] is a list of file extensions. It includes .ini and .cnf
  on Windows, and only .cnf on all other platforms.
- search_default_file_with_ext() contains the !includedir directive. It
  filters files in the directory to those matching f_extensions[].

This file should only be applicable on Unix-like platforms, so only
files with the .cnf extension are read.

Closes #1485
2020-04-03 14:08:59 +02:00
Oleksandr Byelkin
440452628d Merge branch '10.2' into 10.3 2020-03-06 23:28:26 +01:00
Vicențiu Ciorbaru
c5c1027c6e MDEV-19208 mariadb.pc: install into libdir
The .pc file installed by mariadb mentions archful directories and
therefore must be archful itself.

This fixes MDEV-14340.
2020-03-05 10:53:16 +02:00
Vicențiu Ciorbaru
da10c6f448 Merge branch '10.1' into 10.2 2020-03-05 10:52:43 +02:00
Ben Boeckel
f21592c675 mariadb.pc: remove unnecessary include directory
When installing, no headers are installed into the parent directory of
`${includedir}`.
2020-02-26 13:18:51 +02:00
Daniel Black
cd5d864fef mariadb{,@}.service comment typo open-file-limit -> open-files-limit 2020-02-25 07:39:31 +01:00
Marko Mäkelä
5ff66fb0b9 Merge 10.2 into 10.3 2020-01-31 11:37:12 +02:00
Marko Mäkelä
2daf3b14fe Merge 10.1 into 10.2 2020-01-31 10:53:56 +02:00
Rafli Akmal
742c36d048 MDEV-15052: Allow sysusers and tmpfiles install for non-systemd users
..as they have their own tools that parses those files, such as
opensysusers[1] that handles sysusers file and opentmpfiles[2] that
handles tmpfiles.d settings

Because of this. Move both sysusers and tmpfiles 'if' function
outside systemd function, allowing independent install

Signed-off-by: Rafli Akmal <thefallenrat@artixlinux.org>

[1] - https://github.com/artix-linux/opensysusers
[2] - https://github.com/OpenRC/opentmpfiles

Changes done by vicentiu@mariadb.org, from original author patch:

Installing sysusers and tmpfiles without checking for systemd existence
means that by default, cmake will ALWAYS install these files. Our
general policy is we do not install things which are not needed.
However, there is a valid use case when these files are useful, as is
described above.

To allow this, provide an extra switch that can be enabled during
configuring by doing -DINSTALL_SYSTEMD_{SYSUSERS|TMPFILES}=True

This will use the default path INSTALL_SYSTEMD_{SYSUSERS|TMPFILES}DIR
fetched from install_layout.cmake for rpm & deb based layouts
respectively, or they must be overriden if the install_layout is
standalone.

Example:

cmake . -DINSTALL_SYSTEMD_SYSUSERS=True -DINSTALL_SYSTEMD_SYSUSERSDIR=/etc/sysusers.d
2020-01-24 14:07:19 +02:00
Christian Hesse
b472bc2eba MDEV-17028: Use descriptive file names for sysusers and tmpfiles configuration
These files were installed to:

${INSTALL_SYSTEMD_SYSUSERSDIR}/sysusers.conf
${INSTALL_SYSTEMD_TMPFILESDIR}/tmpfiles.conf

Instead rename the files to more descriptive file names 'mariadb.conf'.
2020-01-24 14:05:20 +02:00
Marko Mäkelä
5ab70e7f68 Merge 10.2 into 10.3 2019-12-27 15:14:48 +02:00