No Debian 8, você pode usar o mecanismo Systemd: não precisa mais de mysqld_multi
.
NOTA: eu uso a versão do MariaDB! Não tenho certeza se funciona com o pacote 'clássico' do MySQL.
De /lib/systemd/system/[email protected]
:
Multi instance version of mariadb. For if you run mutiple verions at once.
Also used for mariadb@bootstrap to bootstrap Galera.
create config file /etc/mysql/conf.d/my{instancename}.cnf
start as systemctl start mariadb@{instancename}.server
Portanto, crie um arquivo /etc/mysql/conf.d/myserver2.cnf
e especifique nele novos arquivos pid / socket / datadir e porta de rede:
[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: tenha em atenção que a primeira instância do MySQL não lê este ficheiro de configuração, com !includedir /etc/mysql/conf.d/*
na parte inferior de /etc/mysql/my.cnf
. Se for o caso, substitua o !includedir
por um !include
de cada arquivo de configuração diferente de myserver2.cnf:
#!includedir /etc/mysql/conf.d/*
!include /etc/mysql/conf.d/conf1.cnf
!include /etc/mysql/conf.d/confX.cnf
O documento oficial do MySQL indica que você deve nomear [mysqld]
como [mysqld@server2]
( link ) mas isso não funciona com o MariaDB. Então, apenas deixe [mysqld]
.
Antes de iniciar o novo daemon, não esqueça de criar o datadir e os arquivos necessários:
mkdir /var/lib/mysql-server2
chown mysql:mysql /var/lib/mysql-server2
mysql_install_db --datadir=/var/lib/mysql-server2
Também recarregue a configuração do daemon do systemd:
systemctl daemon-reload
E se você quiser iniciar este daemon na inicialização:
systemctl enable mariadb@server2
Para começar:
service mariadb@server2 start