Serveur Mariadb ne démarre plus après un process InnoDB

Tags: #<Tag:0x00007f39f3bba510> #<Tag:0x00007f39f3bba100>
sudo  journalctl -u mariadb
drwxr-xr-x 11 mysql mysql      4096 Mar 18 11:52 .
drwxr-xr-x  7 root  root       4096 Sep 26 17:00 ..
-rw-rw----  1 mysql mysql    450560 Mar 16 06:02 aria_log.00000001
-rw-rw----  1 mysql mysql        52 Mar 16 06:02 aria_log_control
drwx------  2 mysql mysql      4096 Sep 19 07:08 <user>@18db
drwx------  2 mysql mysql     12288 Sep 18 17:54 <user>@21db
drwx------  2 mysql mysql      4096 Sep 19 01:52 <user>@32db
drwx------  2 mysql mysql      4096 Sep 19 09:30 <user>@02db
-rw-r--r--  1 mysql mysql         0 Sep 17 17:13 debian-10.11.flag
drwx------  2 mysql mysql      4096 Oct  9 06:07 admindb
-rw-rw----  1 mysql mysql      8543 Mar 16 06:02 ib_buffer_pool
-rw-rw----  1 mysql mysql 100663296 Mar 16 06:02 ib_logfile0
-rw-rw----  1 mysql mysql  79691776 Mar 16 06:02 ibdata1
-rw-rw----  1 mysql mysql         0 Sep 17 17:13 multi-master.info
drwx------  2 mysql mysql      4096 Sep 17 17:13 mysql
-rw-r--r--  1 mysql mysql        15 Sep 17 17:13 mysql_upgrade_info
drwxr-xr-x  2 mysql mysql      4096 Mar 18 11:52 <host>.lower-test
drwx------  2 mysql mysql      4096 Sep 17 17:13 performance_schema
drwx------  2 mysql mysql     12288 Sep 17 17:13 sys

bdedardel

Messages : 2

Status : En ligne

18 mars 2025, 14:30

Code : Tout sélectionner

sudo  journalctl -u mariadb
06:02:29 <host> systemd[1]: Stopping mariadb.service - MariaDB 10.11.6 database server...
06:02:29 <host> mariadbd[785]: 6:02:29 0 [Note] /usr/sbin/mariadbd (initiated by: unknown): Normal shutdown
06:02:29 <host> mariadbd[785]: 6:02:29 0 [Note] InnoDB: FTS optimize thread exiting.
06:02:29 <host> mariadbd[785]: 6:02:29 0 [Note] InnoDB: Starting shutdown...
06:02:29 <host> mariadbd[785]: 6:02:29 0 [Note] InnoDB: Dumping buffer pool(s) to /home/mysql/ib_buffer_pool
06:02:29 <host> mariadbd[785]: 6:02:29 0 [Note] InnoDB: Buffer pool(s) dump completed at 250316  6:02:29
06:02:30 <host> mariadbd[785]: 6:02:30 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1"
06:02:30 <host> mariadbd[785]: 6:02:30 0 [Note] InnoDB: Shutdown completed; log sequence number 153575263; transaction id 870235
06:02:30 <host> mariadbd[785]: 6:02:30 0 [Note] /usr/sbin/mariadbd: Shutdown complete
06:02:30 <host> systemd[1]: mariadb.service: Deactivated successfully.
06:02:30 <host> systemd[1]: Stopped mariadb.service - MariaDB 10.11.6 database server.
06:02:30 <host> systemd[1]: mariadb.service: Consumed 11min 27.921s CPU time.
06:02:47 <host> systemd[1]: Starting mariadb.service - MariaDB 10.11.11 database server...
06:02:47 <host> mariadbd[4053495]: 6:02:47 0 [Warning] Can't create test file '/home/mysql/<host>.lower-test' (Errcode: 2 "No such file or directory")
06:02:47 <host> mariadbd[4053495]: [96B blob data]
06:02:47 <host> mariadbd[4053495]: 6:02:47 0 [ERROR] Aborting

A priori, l’erreur provient de : Can’t create test file ‹ /home/mysql/.lower-test › (Errcode: 2 « No such file or directory »)

A noter :

$ ls -la  /home/mysql/
drwxr-xr-x 11 mysql mysql      4096 Mar 18 11:52 .
drwxr-xr-x  7 root  root       4096 Sep 26 17:00 ..
-rw-rw----  1 mysql mysql    450560 Mar 16 06:02 aria_log.00000001
-rw-rw----  1 mysql mysql        52 Mar 16 06:02 aria_log_control
drwx------  2 mysql mysql      4096 Sep 19 07:08 <user>@18db
drwx------  2 mysql mysql     12288 Sep 18 17:54 <user>@21db
drwx------  2 mysql mysql      4096 Sep 19 01:52 <user>@32db
drwx------  2 mysql mysql      4096 Sep 19 09:30 <user>@02db
-rw-r--r--  1 mysql mysql         0 Sep 17 17:13 debian-10.11.flag
drwx------  2 mysql mysql      4096 Oct  9 06:07 admindb
-rw-rw----  1 mysql mysql      8543 Mar 16 06:02 ib_buffer_pool
-rw-rw----  1 mysql mysql 100663296 Mar 16 06:02 ib_logfile0
-rw-rw----  1 mysql mysql  79691776 Mar 16 06:02 ibdata1
-rw-rw----  1 mysql mysql         0 Sep 17 17:13 multi-master.info
drwx------  2 mysql mysql      4096 Sep 17 17:13 mysql
-rw-r--r--  1 mysql mysql        15 Sep 17 17:13 mysql_upgrade_info
drwxr-xr-x  2 mysql mysql      4096 Mar 18 11:52 <host>.lower-test
drwx------  2 mysql mysql      4096 Sep 17 17:13 performance_schema
drwx------  2 mysql mysql     12288 Sep 17 17:13 sys

Est-ce que quelqu’un a une idée ??? Je sèche !

$ cat /etc/debian_version
12.10

Résolu

sudo vi /etc/systemd/system/multi-user.target.wants/mariadb.service
ProtectHome=true => false (je ne sais pas pourquoi ça a changé !)
sudo systemctl daemon-reload
sudo service mariadb start

La raison est simple, le principe de Debian, et de la plupart des Linux est de ne pas permettre à des comptes système d’acceder au répertoire /home.
Pour ça il y a /var.
Et vice versa, les utilisateur n’ont pas de répertoire en lkeur possession qui ne soit dans /home.
C’est un des principes de croisement du système qui contribue à sa sécurité.
Mais parce qu’il y a toujours des utilisateurs qui ont des besoins qui ne vont pas dans le sens de la sécurité, cette option existe pour permettre à différents utilisateurs d’un même serveur d’avoir leurs propres instances de base de données.
Si MariaDB peut acceder aux répertoire /home, il est possible d’envisager qu’une injection SQL (par exemple) puisse se balader dans des répertoires auxquels il ne devrait pas accéder

Merci pour ces précisions de sécurité.

Dans mon cas, mon erreur est :

Mon erreur :

You should avoid editing the MariaDB service file directly in
/etc/systemd/system/multi-user.target.wants/. Instead, create a
systemd override file using the systemctl edit command.