MariaDB / MySQL : Alterando o datadir com segurança

Neste post será apresentado como mudar o diretório de dados do MySQL / MariaDB.

1) Pare o serviço do MariaDB / MySQL:

MySQL :
systemctl stop mysqld

MariaDB :
systemctl stop mariadb

2) Criando o novo diretório e movendo os dados:

Crie o diretório :
mkdir -p /srv/novodiretorio

Dê permissão no novo diretório :
chown -R mysql.mysql /srv/novodiretorio

Mova os dados :
mv /var/lib/mysql/* /srv/novodiretorio

3) Configurando o novo caminho :

Dentro de /etc/my.cnf altere as variáveis datadir e socket para o novo caminho.

datadir=/srv/novodiretorio
socket=/srv/novodiretorio/mariadb.sock

4) SELINUX :

Libere a porta do serviço :

semanage port -a -t mysqld_port_t -p tcp 3306

Configure o SELINUX para que o banco possa escrever e ler arquivos corretamente no novo diretório :

semanage fcontext -a -t mysqld_db_t “/srv/novodiretorio(/.*)?”
restorecon -Rv /srv/novodiretorio

Rode o comando ls -Zd para confirmarmos a aplicação da tag do MySQL no diretório :

Captura de Tela 2015-03-19 às 18.29.34

4) Inicie o serviço do MariaDB / MySQL:

MySQL :
systemctl start mysqld

MariaDB :
systemctl start mariadb

5) Teste Final:

Captura de Tela 2015-03-19 às 18.38.43