Details
Description
When using our -systemd- binary tarballs the distributed mysqld.service systemd service file has
ProtectSystem=full
|
set since MDEV-10298. As this leads to everything under /usr being read-only, but the binary tarball builds having the data dir set up under /usr/local/mariadb-.../data by default.
So trying to bring the MariaDB server up using default settings, according to our instructions in
https://mariadb.com/kb/en/installing-mariadb-binary-tarball
leads to "funny" errors like:
2021-08-06 10:44:49 0 [ERROR] mysqld: File '/usr/local/mariadb-10.4.18-linux-systemd-x86_64/data/aria_log_control' not found (Errcode: 30 "Read-only file system")
|
while starting the server manually works just fine.
So I'd suggest to add
ReadWritePaths=/usr/local/mysql/data
|
to the bundled mariadb.service file. As /usr/local/mysql/data is a symlink, and SystemD resolves this link to the actual data directory, this should work across all releases without requiring per-release adjustments.
A more complete fix would be to allow both the symlink and the actual versioned path, like e.g.:
ReadWritePaths=/usr/local/mysql/data /usr/local/mariadb-10.4.18-linux-systemd-x86_64/data/
|
Attachments
Issue Links
- is caused by
-
MDEV-10298 Improve systemd service hardening
- Closed
- relates to
-
MDEV-25177 Better indication of refusing to start because of ProtectHome
- Closed