RE: Mariadb et systemd
Bonjour,
Je regarderais si /var/run (en fait /run) est bien dispo pour le service… C’est maintenant un répertoire monté en RAM (via tmpfs), et il me semble qu’il y a des restrictions sur son accès… Voir la page de manuel de systemd.exec et les paramètres RuntimeDirectory=, RuntimeDirectoryPreserve= …
Cordialement,
Fred.
-----Message d'origine-----
De : BERTRAND Joël <joel.bertrand@systella.fr>
Envoyé : samedi 27 août 2022 16:53
À : Debian user french <debian-user-french@lists.debian.org>
Objet : Mariadb et systemd
Bonsoir à tous,
Je viens de m'apercevoir qu'une réplique de bases mysql ne fonctionnait plus et j'avoue que je sèche. Une fois de plus, systemd semble faire ce que bon lui semble.
Je m'explique.
La base de données fonctionne parfaitement si je la lance en ligne de commande :
Root hilbert:[~] > mariadbd
2022-08-27 16:45:02 0 [Note] mariadbd (server 10.6.9-MariaDB-1-log) starting as process 857896 ...
hilbert:[~] > mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.6.9-MariaDB-1-log Debian buildd-unstable
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: xxx.yyy.zzz
Master_User: replica
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: mysql-bin.000019
Read_Master_Log_Pos: 104080595
Relay_Log_File: mysqld-relay-bin.000094
Relay_Log_Pos: 63666
Relay_Master_Log_File: mysql-bin.000019
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
...
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Slave_DDL_Groups: 2
Slave_Non_Transactional_Groups: 103
Slave_Transactional_Groups: 44
1 row in set (0,000 sec)
MariaDB [(none)]>
Si je lance le daemon par systemctl start mariadb, je me prends une erreur dans la figure :
Root hilbert:[/etc/systemd/system] > systemctl status mariadb.service ● mariadb.service - MariaDB 10.6.9 database server
Loaded: loaded (/etc/systemd/system/mariadb.service; disabled;
preset: enabled)
Active: activating (auto-restart) (Result: signal) since Sat
2022-08-27 16:43:17 CEST; 2s ago
Docs: man:mariadbd(8)
https://fra01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmariadb.com%2Fkb%2Fen%2Flibrary%2Fsystemd%2F&data=05%7C01%7Cfrederic.boiteux%40odigo.com%7C8bfee86a68db49c8b91a08da883e1a7f%7Cbfa2632f99e14088a16c21c08ca1b899%7C1%7C0%7C637972097560898749%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6ExAzrZ8dc3FX26KrTKxYys8n%2BobIPwsHIiD9zCGXtg%3D&reserved=0
Process: 857728 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=killed, signal=BUS)
CPU: 613us
Root hilbert:[/etc/systemd/system] >
L'unité est quelque chose que j'ai modifié (la dépendance After est modifiée en After=network.target ypbind.service parce que cette station de travail est diskless et que les droits sont hérités du réseau). J'ai naturellement vérifié qu'il n'avait aucune autre différence entre les deux unités :
Root hilbert:[/lib/systemd/system] > diff -u mariadb.service /etc/systemd/system/mariadb.service
--- mariadb.service 2022-08-17 16:28:05.000000000 +0200
+++ /etc/systemd/system/mariadb.service 2022-08-27 16:39:29.142139130
+++ +0200
@@ -22,7 +22,7 @@
Description=MariaDB 10.6.9 database server
Documentation=man:mariadbd(8)
Documentation=https://fra01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmariadb.com%2Fkb%2Fen%2Flibrary%2Fsystemd%2F&data=05%7C01%7Cfrederic.boiteux%40odigo.com%7C8bfee86a68db49c8b91a08da883e1a7f%7Cbfa2632f99e14088a16c21c08ca1b899%7C1%7C0%7C637972097560898749%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6ExAzrZ8dc3FX26KrTKxYys8n%2BobIPwsHIiD9zCGXtg%3D&reserved=0
-After=network.target
+After=network.target ypbind.service
[Install]
WantedBy=multi-user.target
Root hilbert:[/lib/systemd/system] >
De ce que je comprends, la commande /usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld lui pose problème. Or cette commande fonctionne parfaitement bien lancée depuis la ligne de commande.
J'avoue ne plus comprendre et je prends tout avis.
Bien cordialement,
JKB
Reply to: