GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar Override.conf separado para múltiples instancias de MySQL usando Systemd

Si los servicios del sistema son administrados por systemd, el demonio systemd debe conocer la ubicación del archivo PID del proceso para iniciarlo/detenerlo/reiniciarlo. En un sistema compatible con systemd, “override.conf ” se usa para especificar tanto “PIDFile ” y “ExecStart ” con la ubicación del archivo PID. Se ignora cualquier configuración del archivo de ID de proceso en el archivo de opciones de MySQL (my.cnf).

Esta publicación cubre el caso cuando necesitamos crear archivos "override.conf" separados para la administración de múltiples instancias de MySQL en el mismo servidor. En el siguiente ejemplo de archivo de configuración, se supone que dos instancias de MySQL denominadas "Servidor1" y "Servidor2" se ejecutan en una sola máquina CentOS/RHEL 7:

Archivo de configuración de 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

Pasos para crear "override.conf" para estas dos instancias:

1. Detenga cualquier instancia de MySQL en ejecución existente.

2. Cree una nueva carpeta con el nombre de instancia especificado:

$ mkdir /etc/systemd/system/mysqld@[instance-name].service.d
Nota :El nombre de la instancia debe ser el mismo que el especificado en el archivo de configuración.
$ mkdir /etc/systemd/system/[email protected]
$ mkdir /etc/systemd/system/[email protected]

3. Cree “override.conf”:

Por ejemplo, llamado "servidor1",

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

Copie las siguientes líneas en 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

Por ejemplo, llamado "servidor2",

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

Copie las siguientes líneas en 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. Vuelva a cargar la configuración de systemd para aplicar los cambios de configuración:

# systemctl daemon-reload

5. Inicie cada una de las instancias configuradas:

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


Cent OS
  1. Cómo habilitar el registro de consultas lentas para MySQL

  2. ¿Cómo configurar varios entornos de implementación para Juju?

  3. Cómo montar automáticamente un sistema de archivos usando Systemd

  4. Cómo configurar un puerto separado para SSH y SFTP en CentOS/RHEL

  5. Cómo configurar grupos de recursos de Linux (cgroups) para MySQL

Cómo conectarse a MySQL usando PHP

Cómo instalar y configurar MySQL en un servidor Windows

Cómo instalar y configurar Zabbix en CentOS 7

Cómo configurar la replicación maestro-esclavo de MySQL en CentOS 7

Cómo crear múltiples perfiles para el lanzador de Unity en Ubuntu usando el indicador de lista de lanzador

Cómo instalar Tomcat 8 en CentOS 7 (instancias múltiples)