GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nakonfigurovat samostatný Override.conf pro více instancí MySQL pomocí Systemd

Pokud jsou systémové služby spravovány systémem systemd, démon systemd by měl znát umístění souboru PID procesu, aby jej mohl spustit/zastavit/restartovat. V systému s podporou systemd „override.conf ” se používá k určení jak „soubor PIDF “ a „ExecStart ” s umístěním souboru PID. Jakékoli nastavení souboru ID procesu v souboru voleb MySQL (my.cnf) je ignorováno.

Tento příspěvek pokrývá případ, kdy potřebujeme vytvořit samostatné soubory „override.conf“ pro správu více instancí MySQL na stejném serveru. V následujícím příkladu konfiguračního souboru se předpokládá, že dvě instance MySQL s názvem „Server1“ a „Server2“ běží na jednom počítači CentOS/RHEL 7:

Konfigurační soubor 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

Postup vytvoření souboru „override.conf“ pro tyto dvě instance:

1. Zastavte jakoukoli existující spuštěnou instanci MySQL.

2. Vytvořte novou složku se zadaným názvem instance:

$ mkdir /etc/systemd/system/mysqld@[instance-name].service.d
Poznámka :Název instance by měl být stejný jako název zadaný v konfiguračním souboru.
$ mkdir /etc/systemd/system/[email protected]
$ mkdir /etc/systemd/system/[email protected]

3. Vytvořte „override.conf“:

Například s názvem „server1“,

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

Zkopírujte následující řádky do 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

Například s názvem „server2“,

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

Zkopírujte následující řádky do 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. Znovu načtěte konfiguraci systemd, abyste použili změny konfigurace:

# systemctl daemon-reload

5. Spusťte každou z nakonfigurovaných instancí:

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


Cent OS
  1. Jak povolit protokol pomalých dotazů pro MySQL

  2. Jak změnit uživatele pro spoustu souborů služby Systemd?

  3. Jak nakonfigurovat vzdálená a zabezpečená připojení pro MySQL na Ubuntu 16.04

  1. Jak automaticky připojit souborový systém pomocí Systemd

  2. Jak nakonfigurovat samostatný port pro SSH a SFTP na CentOS/RHEL

  3. Jak nakonfigurovat skupiny Linux Resource Groups (cgroups) pro MySQL

  1. Jak vytvořit MySQL Docker Container pro testování

  2. Jak nastavit hodnoty ulimit pro službu systemd

  3. Jak nakonfigurovat více serverů MySQL na jednom systému pomocí mysqld_multi