Utilizando Links Simbólicos para Bancos de Dados
No Unix, a maneira de ligar simbolicamente um banco de dados é, primeiramente, criar um diretório em algum disco onde você possui espaço livre e então criar uma ligação simbólica para ele a partir do diretório do banco de dados do MariaDB.
shell>mkdir /dr1/databases/test
shell>ln -s /dr1/databases/test mysqld-datadir
O MariaDB não suporta que você ligue um diretório a vários bancos de dados. Trocando um diretório de banco de dados com uma ligação simbólica irá funcionar bem desde que não sejam feitos links simbólicos entre os bancos de dados. Suponha que você tenha um banco de dados db1
sob o diretório de dados do MariaDB, e então criar uma ligação simbólica db2
que aponte para db1
.
shell>cd /caminho/para/diretorio/dados
shell>ln -s db1 db2
Agora, para qualquer tabela tbl_a
em db1
, também aparecerá uma tabela tbl_a
em db2
. Se uma thread atualizar db1.tbl_a
e outra atualizar db2.tbl_a
, ocorrerão porblemas.
Se você realmente precisar disto, você deve alterar o código seguinte em mysys/mf_format.c
:
if (flag & 32 || (!lstat(to,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
para
if (1)
No Windows você pode utilizar links simbólicos para diretórios compilando o MariaDB com -DUSE_SYMDIR
. Isto lhe permite colocar diferentes bancos de dados em discos diferentes. Leia "Usando Links Simbólicos para Bancos de Dados no Windows".