W systemie Debian 8 możesz użyć mechanizmu Systemd: nie potrzebujesz już więcej mysqld_multi
.
UWAGA: używam wersji MariaDB! Nie jestem pewien, czy działa z „klasycznym” pakietem MySQL.
Od /lib/systemd/system/mariadb@.service
:
Wersja mariadb z wieloma instancjami. Bo jeśli uruchomisz wiele wersji jednocześnie. Używany również do mariadb @ bootstrap do bootstrap Galera.
utwórz plik konfiguracyjny /etc/mysql/conf.d/ my {instancename} .cnf
zacznij jako systemctl start mariadb@{instancename}.server
/etc/mysql/conf.d/myserver2.cnf
Utwórz plik i podaj w nim nowe pliki pid / socket / datadir i port sieciowy:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld-server2.pid
socket = /var/run/mysqld/mysqld-server2.sock
port = 3307
basedir = /usr
datadir = /var/lib/mysql-server2
tmpdir = /tmp
EDYCJA: uważaj, aby pierwsza instancja MySQL nie czytała tego pliku konfiguracyjnego, !includedir /etc/mysql/conf.d/*
na dole /etc/mysql/my.cnf
. Jeśli tak jest, zamień na !includedir
z !include
każdego pliku konfiguracyjnego INNEGO niż myserver2.cnf:
#!includedir /etc/mysql/conf.d/*
!include /etc/mysql/conf.d/conf1.cnf
!include /etc/mysql/conf.d/confX.cnf
Oficjalny dokument MySQL wskazuje, że musisz nazwać [mysqld]
jako [mysqld@server2]
( https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html#systemd-multiple-mysql-instances ), ale to nie działa z MariaDB . Więc po prostu pozwól [mysqld]
.
Przed uruchomieniem nowego demona nie zapomnij utworzyć datadir i potrzebnych plików:
mkdir /var/lib/mysql-server2
chown mysql:mysql /var/lib/mysql-server2
mysql_install_db --datadir=/var/lib/mysql-server2
Załaduj także ponownie konfigurację demona systemd:
systemctl daemon-reload
A jeśli chcesz uruchomić tego demona podczas rozruchu:
systemctl enable mariadb@server2
Aby rozpocząć:
service mariadb@server2 start