From 23559848996eb07090bf4b95e45653dcf749b59d Mon Sep 17 00:00:00 2001 From: vlaborie Date: Tue, 2 Oct 2018 16:38:17 +0200 Subject: [PATCH] Mise a jour multi-instances --- HowtoMySQL.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/HowtoMySQL.md b/HowtoMySQL.md index 0781f455..8de7e976 100644 --- a/HowtoMySQL.md +++ b/HowtoMySQL.md @@ -1265,7 +1265,7 @@ Avant toute opération, **il est nécessaire de commenter cette ligne** dans le #user = mysql ~~~ -Et de rajouter ces lignes : +Et de rajouter ces lignes dans `/etc/mysql/conf.d/50-multi.cnf` : ~~~{.ini} [mysqld_multi] @@ -1300,7 +1300,7 @@ Créer ensuite le *datadir* : # chmod 700 /srv/mysql-instances/foo ~~~ -Ajouter ces lignes dans `/etc/mysql/conf.d/zzz_evolinux.cnf` : +Ajouter ces lignes dans `/etc/mysql/conf.d/zzz_mysqld1.cnf` : ~~~{.ini} [mysqld1] @@ -1369,6 +1369,53 @@ On préfère passer la commande « shutdown » en interne : > **Note** : a priori cela revient à envoyer un signal SIGTERM (kill -15) au process mysqld +Mettre en place le script d'init suivant dans `/etc/init.d/mysqld_instances` : + +~~~ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: mysqld_instances +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Should-Start: $network $time +# Should-Stop: $network $time +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start and stop the mysql database server daemon +# Description: Controls the main MySQL database server daemon "mysqld" +# and its wrapper script "mysqld_safe". +### END INIT INFO +# +set -e +set -u + +mkdir -p /run/mysqld_instances && chown root:mysql /run/mysqld_instances && chmod 770 /run/mysqld_instances + +case "$1" in + start) + mysqld_multi start + ;; + stop) + for pid in /run/mysqld_instances/*/mysqld.pid; do + pkill -F "${pid}" + done + ;; + status) + mysqld_multi report + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: $0 {start|stop|status|restart}" + exit 1 +esac + +exit 0 +~~~ + ### Nettoyage Si le *mysqld* principal n'est pas utilisé, on désactivera le script d'init.d /etc/init.d/mysql (en ajoutant `exit 0`