Salut à tous.

Lorsque je redémarre mon Fedora 22 server, je dois systématiquement taper un systemctl start mariadb pour lancer le serveur mysql. J'ai essayé mainte fois systemctl enable mariadb, mais ça ne marche pas. Pas d'erreur lors de cette dernière commande mais quand je redémarre mon serveur, mysql ne se lance pas automatiquement.
Quelque'un peut-il me dire pourquoi ou comment remédier à ce problème ?

Merci.
Nicosss wrote:@kinesra
Que retourne avant, pendant, après
$ systemctl status mariadb
Avant : Failed to start Mariadb
 systemctl status mariadb
● mariadb.service - MariaDB 10.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since jeu. 2016-05-26 08:20:15 CEST; 52min ago
  Process: 1458 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
  Process: 997 ExecStartPost=/usr/libexec/mysql-wait-ready $MAINPID (code=exited, status=1/FAILURE)
  Process: 996 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
  Process: 961 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)
  Process: 929 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 996 (code=exited, status=0/SUCCESS)

mai 26 08:20:12 calypsum.com systemd[1]: Starting MariaDB 10.0 database serv....
mai 26 08:20:12 calypsum.com mysqld_safe[996]: 160526 08:20:12 mysqld_safe L....
mai 26 08:20:12 calypsum.com mysqld_safe[996]: 160526 08:20:12 mysqld_safe S...l
mai 26 08:20:15 calypsum.com systemd[1]: mariadb.service: control process ex...1
mai 26 08:20:15 calypsum.com systemd[1]: Failed to start MariaDB 10.0 databa....
mai 26 08:20:15 calypsum.com systemd[1]: Unit mariadb.service entered failed....
mai 26 08:20:15 calypsum.com systemd[1]: mariadb.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
Pendant : rien !
[root@calypsum ~]# systemctl enable mariadb
[root@calypsum ~]#
Après systemctl enable mariadb : Failed to start (ça me semble normal)
[root@calypsum ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since jeu. 2016-05-26 08:20:15 CEST; 56min ago
 Main PID: 996 (code=exited, status=0/SUCCESS)

mai 26 08:20:12 calypsum.com systemd[1]: Starting MariaDB 10.0 database server...
mai 26 08:20:12 calypsum.com mysqld_safe[996]: 160526 08:20:12 mysqld_safe Logging to '/var/lo...g'.
mai 26 08:20:12 calypsum.com mysqld_safe[996]: 160526 08:20:12 mysqld_safe Starting mysqld dae...sql
mai 26 08:20:15 calypsum.com systemd[1]: mariadb.service: control process exited, code=exited ...s=1
mai 26 08:20:15 calypsum.com systemd[1]: Failed to start MariaDB 10.0 database server.
mai 26 08:20:15 calypsum.com systemd[1]: Unit mariadb.service entered failed state.
mai 26 08:20:15 calypsum.com systemd[1]: mariadb.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
Après systemctl start mariadb, tout va bien :
[root@calypsum ~]# systemctl start mariadb
[root@calypsum ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since jeu. 2016-05-26 09:17:32 CEST; 7s ago
  Process: 2944 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 2800 ExecStartPost=/usr/libexec/mysql-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
  Process: 2763 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)
  Process: 2712 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 2799 (mysqld_safe)
   CGroup: /system.slice/mariadb.service
           ├─2799 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
           └─2914 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/l...

mai 26 09:17:30 calypsum.com systemd[1]: Starting MariaDB 10.0 database server...
mai 26 09:17:30 calypsum.com mysqld_safe[2799]: 160526 09:17:30 mysqld_safe Logging to '/var/l...g'.
mai 26 09:17:30 calypsum.com mysqld_safe[2799]: 160526 09:17:30 mysqld_safe Starting mysqld da...sql
mai 26 09:17:32 calypsum.com systemd[1]: Started MariaDB 10.0 database server.
Hint: Some lines were ellipsized, use -l to show in full.
Donc, systemctl enable mariadb ne créé pas ce fameux 'lien symbolique' ...

Alors docteur ?
Donc, systemctl enable mariadb ne créé pas ce fameux 'lien symbolique' ...
Ca n'a rien à voir. Systemctl crée le lien mais il n'est pris en compte que lors du démarrage. Et en dehors du démarrage si tu veux lancer un service, c'est la commande start qui doit être exécutée, ce que tu viens de faire avec succès.
Pense à faire en root : mysql_secure_installation
Avant de commencer. N'utilise pas le même mdp root que celui du système.
Pourtant ça a l'air bon. Et donc au reboot le service ne démarre pas. Tu pourrais compléter avec les commandes suivantes pour essayer de connaître la raison du non démarrage du service
# systemctl status mariadb -l
# journalctl -r -u mariadb
# tail -n 100 /var/log/mariadb/mariadb.log
Nicosss wrote:Tu pourrais compléter avec les commandes suivantes pour essayer de connaître la raison du non démarrage du service
Quelquepart dans le fichier de log, je trouve ça :
160527  9:12:59 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 99: Cannot assign requested address
160527  9:12:59 [ERROR] Do you already have another mysqld server running on port: 3306 ?
160527  9:12:59 [ERROR] Aborting
Comment faire pour vérifier ?
Que retourne :
systemd-analyze blame
Et regarde en root (si tu veux nous les montrer, cache les IP que l'on a pas besoin de voir) :
netstat -paunt
Pour voir si tu n'a pas 2 serveurs SQL de lancé, voir si ton port n'est pas déjà utilisé.
Que retourne
# netstat -laputen |grep 3306
# lsof -i |grep mysql
netstat -paunt donne :
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
tcp        0      0 192.168.1.43:3306       0.0.0.0:*               LISTEN      1766/mysqld
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      946/sshd
tcp        0    272 192.168.1.43:22         145.226.XX.XX:39195     ESTABLISHED 1545/sshd: root@pts
tcp6       0      0 :::9090                 :::*                    LISTEN      1/systemd
tcp6       0      0 :::80                   :::*                    LISTEN      942/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      946/sshd
tcp6       0      0 :::443                  :::*                    LISTEN      942/httpd
udp        0      0 0.0.0.0:57300           0.0.0.0:*                           1490/dhclient
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1490/dhclient
udp        0      0 127.0.0.1:323           0.0.0.0:*                           783/chronyd
udp6       0      0 :::6026                 :::*                                1490/dhclient
udp6       0      0 ::1:323                 :::*                                783/chronyd
netstat -laputen |grep 3306 donne :
tcp        0      0 192.168.1.43:3306       0.0.0.0:*               LISTEN      27         2482
lsof -i |grep mysql donne :
mysqld    1766  mysql   19u  IPv4  24822      0t0  TCP calypsum.com:mysql (LISTEN)
... alors ?
kinesra wrote:netstat -paunt donne :
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
tcp        0      0 192.168.1.43:3306       0.0.0.0:*               LISTEN      1766/mysqld
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      946/sshd
tcp        0    272 192.168.1.43:22         145.226.XX.XX:39195     ESTABLISHED 1545/sshd: root@pts
tcp6       0      0 :::9090                 :::*                    LISTEN      1/systemd
tcp6       0      0 :::80                   :::*                    LISTEN      942/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      946/sshd
tcp6       0      0 :::443                  :::*                    LISTEN      942/httpd
udp        0      0 0.0.0.0:57300           0.0.0.0:*                           1490/dhclient
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1490/dhclient
udp        0      0 127.0.0.1:323           0.0.0.0:*                           783/chronyd
udp6       0      0 :::6026                 :::*                                1490/dhclient
udp6       0      0 ::1:323                 :::*                                783/chronyd
netstat -laputen |grep 3306 donne :
tcp        0      0 192.168.1.43:3306       0.0.0.0:*               LISTEN      27         2482
lsof -i |grep mysql donne :
mysqld    1766  mysql   19u  IPv4  24822      0t0  TCP calypsum.com:mysql (LISTEN)
... alors ?
attention tu cache ton ip public mais pas ton nom de domaine !!
Arf on peut plus hacker tranquillement 😉
Nicosss wrote:C'est toi qui a fixé cette adresse en dur 192.168.1.43 ? Tu as modifié ton fichier /etc/my.cnf ou un dans /etc/my.cnf.d/ ?

Tu souhaites faire quoi ?
Oui, l'adresse locale du serveur est un bail permanent. Je n'ai rien modifié dans le fichier de config que tu cites.
Ce que je veux faire ? Lancer Mariadb automatiquement au boot du serveur ... je le répète : systemctl enable mariadb ne fait rien du tout et je suis obligé de faire un systemctl start mariadb à chaque redémarrage pour que ça fonctionne.

@penthium2 : Il s'agit d'un serveur de test sans aucun intérêt et je n'ai rien à cacher ...
Cette adresse ip tu ne l'as pas saisie quelque part, autre que pour la configuration de la carte réseau ?
Ton installation de Mariadb te sert à quoi ?
C'est étrange que tu n'écoutes pas sur 127.0.0.1 si c'est une installation standard.
C'est récent comme problème ou lié à une installation toute fraîche et auquel cas comment as-tu procédé.
Nicosss wrote:Cette adresse ip tu ne l'as pas saisie quelque part, autre que pour la configuration de la carte réseau ?
Non, c'est l'adresse de la machine fournie par le serveur DHCP de ma box.
Ton installation de Mariadb te sert à quoi ?
A faire tourner mon serveur mysql. Je trouve l'installation et la configuration de mysql plus simple avec Mariadb.
C'est étrange que tu n'écoutes pas sur 127.0.0.1 si c'est une installation standard.
C'est récent comme problème ou lié à une installation toute fraîche et auquel cas comment as-tu procédé.
Etrange ? En tout cas, à part ce problème de démarrage automatique, ça marche nickel.
A partir du moment où j'ai installé mariadb, je n'ai jamais pu le faire démarrer ce service au boot du serveur..

Cela dit, il s'agit d'un petit problème car je ne redémarre pas le serveur très souvent. Mais il m'est arrivé d'oublier et du coup, le site hébergé ne fonctionnait plus (pas d'accès à la base évidemment).
Petit problème mais très chiant quand même.
J'avais bien compris que Mariadb était installé pour faire tourner une base mysql. C'est en fait pour une base de données au même endroit que le serveur web.

L'interface locale existe d'ailleurs ?
$ nmcli device show
Que contient ton fichier /etc/my.cnf ?
Tu as peut-être, le temps que tu trouves la solution, la possibilité de mettre la commande de lancement du service dans le fichier /etc/rc.local

ça fonctionne mais ce n'est pas très propre.