Tenho um arquivo /etc/mysql/mysqld_multi_cls.cnf com tudo o que o mariadb precisa para múltiplas instâncias de banco de dados.
Posso iniciar essas instâncias com o seguinte comando:
sudo mariadbd-multi --defaults-file=/etc/mysql/mysqld_multi_cls.cnf start
Mas não consigo encontrar uma maneira (legal) de iniciar essas instâncias na inicialização.
Adicionar o arquivo .cnf na pasta /conf.d/ não inicia a instância, a menos que eu esteja fazendo alguma besteira sem saber. O banco de dados está rodando em um Raspberry pi5, Raspberry Pi OS, que é baseado em Debian. E eu sou bem desinformado/novato com Linux.
Após solicitação, aqui está o arquivo .cnf:
# Configuration Settings for mysqld_multi , as well as separate instances.
#
[mysqld_multi]
mysqld = /usr/bin/mariadbd-safe
mysqladmin = /usr/bin/mariadb-admin
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /usr/local/mysql/mdb2/ansible-host1.pid2
datadir = /var/lib/mysql2
log-error = /var/log/mysql2/error.log
log-bin = /var/log/mysql2/mdb2-mysql-bin.log
server-id = 2
expire-logs-days = 72
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
binlog_format = mixed
gtid_strict_mode = 1
[mysqld3]
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/mdb3/ansible-host1.pid3
datadir = /var/lib/mysql3
log-error = /var/log/mysql3/error.log
log-bin = /var/log/mysql3/mdb3-mysql-bin.log
server-id = 3
expire-logs-days = 64
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
binlog_format = mixed
gtid_strict_mode = 1
[mysqld4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /usr/local/mysql/mdb4/ansible-host1.pid4
datadir = /var/lib/mysql4
log-error = /var/log/mysql4/error.log
log-bin = /var/log/mysql4/mdb4-mysql-bin.log
server-id = 4
expire-logs-days = 64
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
binlog_format = mixed
gtid_strict_mode = 1
Não consegui encontrar uma maneira legal e organizada de iniciar também as outras instâncias através da inicialização do MariaDB.
Horas viraram dias, dias viraram semanas. E semanas viraram noites sem dormir e comida estressante. Então eu tive que recorrer a meios Linux fora do mariadb/mysql. Uma maneira fácil é adicionar seu comando ao arquivo /etc/rc.local.
Para editar este arquivo, use o comando:
Digite o seguinte antes de "exit 0"
CTRL S para salvar, CTRL X para fechar.
E pronto, suas instâncias agora iniciam na inicialização.