Sur Debian 8, vous pouvez utiliser le mécanisme Systemd: plus besoin de mysqld_multi
.
REMARQUE: j'utilise la version MariaDB! Je ne sais pas si cela fonctionne avec le package MySQL «classique».
De /lib/systemd/system/mariadb@.service
:
Version multi-instance de mariadb. Car si vous exécutez plusieurs versions à la fois. Également utilisé pour mariadb @ bootstrap pour bootstrap Galera.
créer un fichier de configuration /etc/mysql/conf.d/ mon {nom d'instance} .cnf
démarrer en tant que systemctl start mariadb@{instancename}.server
Donc, créez un fichier /etc/mysql/conf.d/myserver2.cnf
, et spécifiez-y de nouveaux fichiers pid / socket / datadir et un port réseau:
[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: attention à ce que la première instance MySQL ne lise pas ce fichier de configuration, avec !includedir /etc/mysql/conf.d/*
en bas de /etc/mysql/my.cnf
. Si c'est le cas, remplacez le !includedir
par un !include
de chaque fichier de configuration AUTRE QUE myserver2.cnf:
#!includedir /etc/mysql/conf.d/*
!include /etc/mysql/conf.d/conf1.cnf
!include /etc/mysql/conf.d/confX.cnf
Le doc officiel de MySQL indique que vous devez nommer [mysqld]
comme [mysqld@server2]
( https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html#systemd-multiple-mysql-instances ) , mais cela ne fonctionne pas avec MariaDB . Alors laissez-le [mysqld]
.
Avant de démarrer le nouveau démon, n'oubliez pas de créer le datadir et les fichiers nécessaires:
mkdir /var/lib/mysql-server2
chown mysql:mysql /var/lib/mysql-server2
mysql_install_db --datadir=/var/lib/mysql-server2
Rechargez également la configuration du démon systemd:
systemctl daemon-reload
Et si vous voulez démarrer ce démon au démarrage:
systemctl enable mariadb@server2
Pour le démarrer:
service mariadb@server2 start