У Debian 8 ви можете використовувати механізм Systemd: більше не потрібно mysqld_multi
.
ПРИМІТКА. Я використовую версію MariaDB! Не впевнений, чи працює він із "класичним" пакетом MySQL.
Від /lib/systemd/system/mariadb@.service
:
Багатопримірний варіант mariadb. Бо якщо одразу запустити неохайні версії. Також використовується для mariadb @ bootstrap для завантаження Galera.
створити конфігураційний файл /etc/mysql/conf.d/ мій {instancename} .cnf
запустити як systemctl start mariadb@{instanname}.server
Отже, створіть файл /etc/mysql/conf.d/myserver2.cnf
та вкажіть у ньому нові файли pid / socket / datadir та мережевий порт:
[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
EDIT: будьте обережні, щоб перший екземпляр MySQL не прочитав цей конфігураційний файл, !includedir /etc/mysql/conf.d/*
внизу /etc/mysql/my.cnf
. Якщо це так, то замініть !includedir
з !include
кожним файлом конфігурації відрізняються myserver2.cnf:
#!includedir /etc/mysql/conf.d/*
!include /etc/mysql/conf.d/conf1.cnf
!include /etc/mysql/conf.d/confX.cnf
Офіційний документ MySQL вказує, що ви повинні назвати [mysqld]
як [mysqld@server2]
( https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html#systemd-multiple-mysql-instance ), але це не працює з MariaDB . Тому просто нехай [mysqld]
.
Перш ніж запустити новий демон, не забудьте створити файл данихdir та потрібні файли:
mkdir /var/lib/mysql-server2
chown mysql:mysql /var/lib/mysql-server2
mysql_install_db --datadir=/var/lib/mysql-server2
Також перезавантажте systemd daemon config:
systemctl daemon-reload
І якщо ви хочете запустити цей демон при завантаженні:
systemctl enable mariadb@server2
Щоб почати це:
service mariadb@server2 start