GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So konfigurieren Sie eine separate Override.conf für mehrere MySQL-Instanzen mit Systemd

Wenn die Systemdienste von systemd verwaltet werden, sollte der systemd-Daemon den Speicherort der PID-Datei des Prozesses kennen, um ihn zu starten/stoppen/neu zu starten. Auf einem System mit systemd-Unterstützung wird „override.conf “ wird verwendet, um sowohl „PIDFile “ und „ExecStart “ mit dem Speicherort der PID-Datei. Alle Einstellungen der Prozess-ID-Datei in der MySQL-Optionsdatei (my.cnf) werden ignoriert.

Dieser Beitrag behandelt den Fall, in dem wir separate „override.conf“-Dateien für die Verwaltung mehrerer MySQL-Instanzen auf demselben Server erstellen müssen. Im folgenden Konfigurationsdateibeispiel wird davon ausgegangen, dass zwei MySQL-Instanzen namens „Server1“ und „Server2“ auf einem einzigen CentOS/RHEL 7-Computer ausgeführt werden:

MySQL-Konfigurationsdatei (/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

Schritte zum Erstellen von „override.conf“ für diese beiden Instanzen:

1. Beenden Sie alle vorhandenen laufenden MySQL-Instanzen.

2. Erstellen Sie einen neuen Ordner mit dem angegebenen Instanznamen:

$ mkdir /etc/systemd/system/mysqld@[instance-name].service.d
Hinweis :Der Instanzname sollte mit dem in der Konfigurationsdatei angegebenen identisch sein.
$ mkdir /etc/systemd/system/[email protected]
$ mkdir /etc/systemd/system/[email protected]

3. Erstellen Sie „override.conf“:

Zum Beispiel mit dem Namen „server1“,

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

Kopieren Sie die folgenden Zeilen in 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

Zum Beispiel mit dem Namen „server2“,

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

Kopieren Sie die folgenden Zeilen in 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. Laden Sie die systemd-Konfiguration neu, um die Konfigurationsänderungen zu übernehmen:

# systemctl daemon-reload

5. Starten Sie jede der konfigurierten Instanzen:

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


Cent OS
  1. So konfigurieren Sie Linux-Ressourcengruppen (cgroups) für MySQL

  2. So erstellen Sie einen MySQL-Docker-Container zum Testen

  3. So legen Sie ulimit-Werte für einen systemd-Dienst fest

  4. Konfigurieren Sie MySQL Router mit systemd für den automatischen Neustart bei Fehlern

  5. So konfigurieren Sie mehrere MySQL-Server auf einem System mit mysqld_multi

Wie man mit PHP eine Verbindung zu MySQL herstellt

So installieren und konfigurieren Sie MySQL auf einem Windows-Server

So installieren und konfigurieren Sie Zabbix unter CentOS 7

So konfigurieren Sie die MySQL-Master-Slave-Replikation unter CentOS 7

So erstellen Sie mehrere Profile für Unity Launcher in Ubuntu mit Launcher-List-Indicator

So installieren Sie Tomcat 8 unter CentOS 7 (mehrere Instanzen)