22
0
Fork 0

Fix multi instances

This commit is contained in:
vlaborie 2019-01-14 14:51:39 +01:00
parent b5441e0bc1
commit 3d2004b802
1 changed files with 20 additions and 9 deletions

View File

@ -1322,29 +1322,29 @@ user = mysqladmin
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 :
~~~
# mkdir -p /srv/mysql-instances/foo
# mkdir -p /srv/mysql-instances/mysqld1
# 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 :
~~~
# mkdir /home/mysql-instances-tmp
# chown mysql-foo:mysql-foo /home/mysql-instances-tmp
# mkdir /home/mysqld1-tmp
# chown mysqld1:mysqld1 /home/mysqld1-tmp
~~~
Créer ensuite le *datadir* :
~~~
# mysql_install_db --user=mysql-foo --datadir=/srv/mysql-instances/foo
# chmod 700 /srv/mysql-instances/foo
# mysql_install_db --user=mysqld1 --datadir=/srv/mysql-instances/mysqld1
# chmod 700 /srv/mysql-instances/mysqld1
~~~
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}
[mysqld1]
mysqld = /usr/bin/mysqld_safe
user = mysql-foo
user = mysqld1
port = 3307
socket = /var/run/mysqld-foo/mysqld.sock
pid-file = /var/run/mysqld-foo/mysqld.pid
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,
@ -1374,7 +1385,7 @@ skip-slave-start
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 :