GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer un fichier Override.conf séparé pour plusieurs instances MySQL à l'aide de Systemd

Si les services système sont gérés par systemd, le démon systemd doit connaître l'emplacement du fichier PID du processus pour le démarrer/l'arrêter/le redémarrer. Sur un système prenant en charge systemd, "override.conf ” est utilisé pour spécifier à la fois “PIDFile " et " ExecStart ” avec l'emplacement du fichier PID. Tout paramètre du fichier d'ID de processus dans le fichier d'options MySQL (my.cnf) est ignoré.

Cet article couvre le cas où nous devons créer un fichier "override.conf" séparé pour la gestion de plusieurs instances MySQL sur le même serveur. Dans l'exemple de fichier de configuration suivant, on suppose que deux instances MySQL nommées "Server1" et "Server2" s'exécutent sur une seule machine CentOS/RHEL 7 :

Fichier de configuration MySQL (/etc/my.cnf) :

[mysqld@server1]
server_id = 1
port = 3307
datadir = /home/mysql57/data
socket = /home/mysql57/data/mysql_server1.sock
log-error = /home/mysql57/data/mysql_server1.err

[mysqld@server2]
server_id = 2
port = 3308
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql_server2.sock
log-error = /var/lib/mysql/mysql_server2.err

Étapes pour créer "override.conf" pour ces deux instances :

1. Arrêtez toute instance MySQL en cours d'exécution.

2. Créez un nouveau dossier avec le nom d'instance spécifié :

$ mkdir /etc/systemd/system/mysqld@[instance-name].service.d
Remarque  :Le nom de l'instance doit être le même que celui spécifié dans le fichier de configuration.
$ mkdir /etc/systemd/system/[email protected]
$ mkdir /etc/systemd/system/[email protected]

3. Créez "override.conf":

Par exemple nommé "serveur1",

$ cd /etc/systemd/system/[email protected]
$ touch override.conf 

Copiez les lignes suivantes dans override.conf :

[Service]
PIDFile=/home/mysql57/data/mysql_server1.pid
ExecStart=
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf --defaults-group-suffix=@server1 --daemonize --pid-file=/home/mysql57/data/mysql_server1.pid $MYSQLD_OPTS

Par exemple nommé "serveur2",

$ cd /etc/systemd/system/[email protected]
touch override.conf

Copiez les lignes suivantes dans override.conf :

[Service]
PIDFile=/var/lib/mysql/mysql_server2.pid
ExecStart=
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf --defaults-group-suffix=@server2 --daemonize --pid-file=/var/lib/mysql/mysql_server2.pid $MYSQLD_OPTS

4. Rechargez la configuration systemd pour appliquer les modifications de configuration :

# systemctl daemon-reload

5. Lancez chacune des instances configurées :

# systemctl start mysqld@server1
# systemctl start mysqld@server2


Cent OS
  1. Comment activer le journal des requêtes lentes pour MySQL

  2. Comment changer d'utilisateur pour un groupe de fichiers de service Systemd ?

  3. Comment configurer plusieurs environnements de déploiement pour Juju ? ?

  4. Comment configurer des connexions distantes et sécurisées pour MySQL sur Ubuntu 16.04

  5. Comment écouter plusieurs connexions tcp en utilisant nc

Comment se connecter à MySQL en utilisant PHP

Comment installer et configurer MySQL sur un serveur Windows

Comment installer et configurer Zabbix sur CentOS 7

Comment configurer la réplication maître-esclave MySQL sur CentOS 7

Comment créer plusieurs profils pour le lanceur Unity dans Ubuntu à l'aide de launcher-list-indicator

Comment installer Tomcat 8 sur CentOS 7 (instances multiples)