Fix multi instances

This commit is contained in:
vlaborie 2019-01-14 14:51:39 +01:00
parent b5441e0bc1
commit 3d2004b802

View file

@ -1322,29 +1322,29 @@ user = mysqladmin
Créer un utilisateur pour l'instance (il doit avoir un shell valide comme `/bin/sh`) : Créer un utilisateur pour l'instance (il doit avoir un shell valide comme `/bin/sh`) :
~~~ ~~~
# useradd mysql-foo # useradd mysqld1
~~~ ~~~
Créer le dossier qui va accueillir le *datadir* et donner les bons droits : Créer le dossier qui va accueillir le *datadir* et donner les bons droits :
~~~ ~~~
# mkdir -p /srv/mysql-instances/foo # mkdir -p /srv/mysql-instances/mysqld1
# chmod 755 /srv /srv/mysql-instances # chmod 755 /srv /srv/mysql-instances
# chown -R mysql-foo:mysql-foo /srv/mysql-instances # chown -R mysqld1:mysqld1 /srv/mysql-instances/mysqld1
~~~ ~~~
Créer un repertoire temporaire dédié à cette instance : Créer un repertoire temporaire dédié à cette instance :
~~~ ~~~
# mkdir /home/mysql-instances-tmp # mkdir /home/mysqld1-tmp
# chown mysql-foo:mysql-foo /home/mysql-instances-tmp # chown mysqld1:mysqld1 /home/mysqld1-tmp
~~~ ~~~
Créer ensuite le *datadir* : Créer ensuite le *datadir* :
~~~ ~~~
# mysql_install_db --user=mysql-foo --datadir=/srv/mysql-instances/foo # mysql_install_db --user=mysqld1 --datadir=/srv/mysql-instances/mysqld1
# chmod 700 /srv/mysql-instances/foo # chmod 700 /srv/mysql-instances/mysqld1
~~~ ~~~
Ajouter ces lignes dans `/etc/mysql/conf.d/zzz_mysqld1.cnf` : Ajouter ces lignes dans `/etc/mysql/conf.d/zzz_mysqld1.cnf` :
@ -1352,11 +1352,22 @@ Ajouter ces lignes dans `/etc/mysql/conf.d/zzz_mysqld1.cnf` :
~~~{.ini} ~~~{.ini}
[mysqld1] [mysqld1]
mysqld = /usr/bin/mysqld_safe mysqld = /usr/bin/mysqld_safe
user = mysql-foo user = mysqld1
port = 3307 port = 3307
socket = /var/run/mysqld-foo/mysqld.sock socket = /var/run/mysqld-foo/mysqld.sock
pid-file = /var/run/mysqld-foo/mysqld.pid pid-file = /var/run/mysqld-foo/mysqld.pid
datadir = /home/mysql-foo datadir = /home/mysql-foo
[mysqld1]
mysqld = /usr/bin/mysqld_safe
user = mysqld1
port = 3307
tmpdir = /home/mysqld1-tmp/
socket = /var/run/mysqld_instances/mysqld1/mysqld.sock
pid-file = /var/run/mysqld_instances/mysqld1/mysqld.pid
datadir = /srv/mysqld_instances/mysqld1
log_error = /var/log/mysql/mysqld1/error.log
slow_query_log_file = /var/log/mysql/mysqld1/mysql-slow.log
~~~ ~~~
> *Note 1* : même si l'on ne prévoit pas de faire tourner le mysqld principal sur le port 3306, > *Note 1* : même si l'on ne prévoit pas de faire tourner le mysqld principal sur le port 3306,
@ -1374,7 +1385,7 @@ skip-slave-start
Créer le répertoire qui contiendra le socket et le fichier PID : Créer le répertoire qui contiendra le socket et le fichier PID :
~~~ ~~~
# install -d /var/run/mysqld-foo -o mysql-foo -g root -m 755 # install -d /var/run/mysqld1 -o mysqld1 -g root -m 755
~~~ ~~~
Faire de même avec tmpfiles.d(5), pour créer ce dossier au démarrage de la machine : Faire de même avec tmpfiles.d(5), pour créer ce dossier au démarrage de la machine :