Alterando a pasta padrão do MariaDB e MySQL

Por motivos diversos podemos querer alterar o caminho da pasta padrão onde o MySQL/MariaDB salva os banco de dados.

Para isso, inicialmente precisamos saber a pasta atual onde o MySQL está salvando os dados. Digite o comando abaixo no bash:

mysql -u root -p -e "SELECT @@datadir"

Digite a senha do usuário root do MySQL. Você verá uma saída semelhante a esta:

+-----------------+
| @@datadir       |
+-----------------+
| /var/lib/mysql/ |
+-----------------+

Vamos parar o serviço do MySQL

sudo service mysql stop
sudo service mariadb stop

Copiar todo o conteúdo da pasta atual para a nova pasta, nesse cenário, vou usar a pasta /mnt/d/wsl/servidor/mysql-data. Para isso, usamos o comando abaixo para preservar as permissões e propriedades de data e hora originais:

cp -rap /var/lib/mysql/* /mnt/d/wsl/servidor/mysql-data

Dando permissão ao usuário mysql:mysql para a pasta /mnt/d/wsl/servidor/mysql-data

chown -R mysql:mysql /mnt/d/wsl/servidor/mysql-data

Edite o arquivo /etc/mysql/mysql.conf.d/mysqld.cnf no caso do MySQL ou o arquivo /etc/mysql/mariadb.conf.d/50-server.cnf no caso do MariaDB

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

No caso do MySQL, adicione as configurações personalizadas abaixo no final do arquivo, onde /mnt/d/wsl/servidor/mysql-data é o local onde as base de dados serão salvas

datadir = /mnt/d/wsl/servidor/mysql-data
lower_case_table_names = 0

Já no caso do MariaDB, adicione a configuração abaixo local abaixo da seção [mariadb]

datadir = /mnt/d/wsl/servidor/mysql-data

Se ocorrer algum erro nos passos acima você poderá ter mais detalhes sobre ele com o comando cat /var/log/mysql/error.log