Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/04/2016, à 11:31

LeffoO

Mysqld_multi et myslqd.sock (suppression au démarrage)

Bonjour à tous,

J’ai un problème avec les fichiers mysqld.sock qui se suppriment automatiquement au lancement de la commande Mysqld_multi Start.

Je m’explique, je suis sur une Ubuntu Trusty 14.04, avec Mysql 5.6 (j’ai le même problème avec une version 5.5 ou 5.7)
J’ai donc 2 instances (une 3306 et 3307) à l’installation tous se passe bien. Lors de la mise en place les 2 instances tournent parfaitement, mais après quelque temps (1 ou 2 redémarrage) plus rien ne va.

J’essaie de redémarrer mes instances, et voici ce que j’obtiens.
:mysqld_multi start --verbose
WARNING: mysqld_safe is being used to start mysqld. In this case you may need to pass
"ledir=..." under groups [mysqldN] to mysqld_safe in order to find the actual mysqld binary.
ledir (library executable directory) should be the path to the wanted mysqld binary.

De plus les fichiers mysqld.sock ont disparu.

J’arrive à faire repartir l’instance 3306 en remettant le fichier my.cnf d’origine et en exécutant un mysqld_safe après avoir recrée manuel un fichier /var/run/mysqld/mysqld.sock. Mais impossible de faire redémarrer la 3307.

Si je ne garde qu’une instance la 3306 (par défaut) tout fonctionne parfaitement

J’ai d’abord pensé que c’était à cause de Appamor, alors je l’ai désactivé mais rien n’y fait.
J’ai désinstallé et réinstallé complément MySQL plusieurs fois, les 2 instances démarrent à nouveau mais au 1er redémarrage du serveur ou arrêt des instances, rebelote les 2 fichiers .sock sont supprimés.

Voici mon fichier my.cnf. (Simplifié)

[mysqld_multi] 
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = multi_admin
password   = multipass
# Configuration d'un premier serveur

[mysqld1]
# repertoire de stockage des fichiers de base
datadir = /var/lib/mysql
# chemin du socket ( imperativement different pour chaque serveur )
socket = /var/run/mysqld/mysqld.sock
# chemin des processus
pid-file = /var/run/mysqld/mysqld.pid
# utilisateur proprietaire du processus
user = multi_admin
# port ( imperativement different pour chaque serveur )
port = 3306
log-bin=mysql-bin
# chemin des fichiers de log
log-error=/var/log/mysqld.log

[mysqld2]
datadir=/var/lib/mysql2
socket= /var/run/mysqld/mysqld2.sock
pid-file = /var/run/mysqld/mysqld2.pid
user = multi_admin
port = 3307
log-bin=mysql-bin
log-error=/var/log/mysqld2.log

Merci d’avance pour votre aide.


Modération : merci à l'avenir d'utiliser les balises code (explications ici).

Dernière modification par cqfd93 (Le 26/04/2016, à 13:04)

Hors ligne