HowtoMySQL: Use ${instance} instead of 1

This commit is contained in:
David Prevot 2023-05-17 15:32:07 +02:00
parent 833a2391cb
commit 9b11b2f631

View file

@ -1521,29 +1521,31 @@ systemctl disable --now mariadb
Créer un utilisateur dédié pour l'instance : Créer un utilisateur dédié pour l'instance :
~~~ ~~~
# useradd mysqld1 instance=1
useradd mysqld${instance}
~~~ ~~~
Créer les dossiers qui vont accueillir le *datadir* et les données temporaire avec les bons droits : Créer les dossiers qui vont accueillir le *datadir* et les données temporaire avec les bons droits :
~~~ ~~~
# mkdir -vp /srv/mysqld_instances/mysqld1 /home/mysqld1-tmp mkdir -vp /srv/mysqld_instances/mysqld${instance} /home/mysqld${instance}-tmp
# touch /var/log/mysqld1.log touch /var/log/mysqld${instance}.log
# chmod 755 /srv /srv/mysqld_instances chmod 755 /srv /srv/mysqld_instances
# chown -R mysqld1:mysqld1 /srv/mysqld_instances/mysqld1 /home/mysqld1-tmp /var/log/mysqld1.log chown -R mysqld${instance}:mysqld${instance} /srv/mysqld_instances/mysqld${instance} /home/mysqld${instance}-tmp /var/log/mysqld${instance}.log
~~~ ~~~
Ajouter ces lignes dans `/etc/mysql/mariadb.conf.d/zzz_mysqld1.cnf` : Ajouter ces lignes dans `/etc/mysql/mariadb.conf.d/zzz_mysqld${instance}.cnf` :
~~~{.ini} ~~~{.ini}
[mysqld1] echo "[mysqld${instance}]
user = mysqld1 user = mysqld${instance}
port = 3307 port = $((3306+${instance}))
tmpdir = /home/mysqld1-tmp/ tmpdir = /home/mysqld${instance}-tmp/
socket = /var/run/mysqld1/mysqld1.sock socket = /var/run/mysqld${instance}/mysqld${instance}.sock
pid-file = /var/run/mysqld1/mysqld1.pid pid-file = /var/run/mysqld${instance}/mysqld${instance}.pid
datadir = /srv/mysqld_instances/mysqld1 datadir = /srv/mysqld_instances/mysqld${instance}
log_error = /var/log/mysqld1.log log_error = /var/log/mysqld${instance}.log" \
> /etc/mysql/mariadb.conf.d/zzz_mysqld${instance}.cnf
~~~ ~~~
L'ajout de ces directives permet de désactiver l'héritage des valeurs issue de l'instance principale : L'ajout de ces directives permet de désactiver l'héritage des valeurs issue de l'instance principale :
@ -1557,14 +1559,14 @@ slow_query_log = 0
Ajuster les permissions du fichier de configuration: Ajuster les permissions du fichier de configuration:
~~~ ~~~
# chmod 644 /etc/mysql/mariadb.conf.d/zzz_mysqld1.cnf chmod 644 /etc/mysql/mariadb.conf.d/zzz_mysqld${instance}.cnf
~~~ ~~~
Créer manuellement le *datadir* : Créer manuellement le *datadir* :
~~~ ~~~
# mysql_install_db --user=mysqld1 --datadir=/srv/mysqld_instances/mysqld1 --defaults-file=/etc/mysql/mariadb.conf.d/zzz_mysqld1.cnf mysql_install_db --user=mysqld${instance} --datadir=/srv/mysqld_instances/mysqld${instance} --defaults-file=/etc/mysql/mariadb.conf.d/zzz_mysqld${instance}.cnf
# chmod 700 /srv/mysqld_instances/mysqld1 chmod 700 /srv/mysqld_instances/mysqld${instance}
~~~ ~~~
### Démarrer une instance avec systemd ### Démarrer une instance avec systemd