Como alterar um diretório de dados MySQL/Mariadb padrão no Linux
- 4524
- 1201
- Enrique Gutkowski PhD
Depois de instalar os componentes de uma pilha de lâmpadas em um servidor CentOS/RHEL 7, há algumas coisas que você pode querer fazer.
Alguns deles têm a ver com o aumento da segurança do Apache e do MySQL / Mariadb, enquanto outros podem ser aplicáveis ou não de acordo com nossa configuração ou necessidades.
Por exemplo, com base no uso esperado do servidor de banco de dados, podemos querer alterar o padrão dados diretório (/var/lib/mysql
) para um local diferente. É o caso quando esse diretório deve crescer devido ao alto uso.
Caso contrário, o sistema de arquivos onde /var
é armazenado pode entrar em colapso em um ponto, fazendo com que todo o sistema falhe. Outro cenário em que a alteração do diretório padrão é quando temos um compartilhamento de rede dedicado que queremos usar para armazenar nossos dados reais.
Por esse motivo, neste artigo, explicaremos como alterar o diretório de dados MySQL/MariaDB padrão para um caminho diferente em um servidor CentOS/RHEL 7 e distribuições Ubuntu/Debian.
Embora vamos usar Mariadb, os conceitos explicaram e as medidas tomadas neste artigo se aplicam a Mysql e para Mariadb a menos que seja observado de outra forma.
Alterando o diretório de dados MySQL/Mariadb padrão
Observação: Vamos assumir que nosso novo diretório de dados é /mnt/mysql-data
. É importante observar que este diretório deve pertencer a mysql: mysql
.
# mkdir /mnt /mysql-data # chown -r mysql: mysql /mnt /mysql-data
Para sua conveniência, dividimos o processo em 5 etapas fáceis de seguir:
Etapa 1: Identifique o diretório de dados do MySQL atual
Para começar, vale a pena identificar o diretório de dados atual usando o seguinte comando. Não apenas assuma que ainda é /var/lib/mysql
já que poderia ter sido alterado no passado.
# mysql -u root -p -e "selecione @@ datadir;"
Depois de inserir a senha do MySQL, a saída deve ser semelhante a.
Identifique o diretório de dados MySQLEtapa 2: Copie o diretório de dados MySQL para um novo local
Para evitar a corrupção de dados, pare o serviço se estiver em execução antes de prosseguir. Use o Systemd comandos bem conhecidos para fazer isso:
------------- No Systemd ------------- # SystemCtl Stop mariadb # SystemCtl ISActive MariaDB ------------- Em sysvinit ------------- # serviço mysqld stop # serviço mysqld status ou # serviço mysql stop # serviço mysql status
Se o serviço for reduzido, a saída do último comando deve ser a seguinte:
Pare o serviço MySQLEm seguida, copie recursivamente o conteúdo de /var/lib/mysql
para /mnt/mysql-data
Preservando as permissões e registros de data e hora originais:
# cp -r -p/var/lib/mysql/*/mnt/mysql -dataCopie o diretório de dados do MySQL para o novo local
Etapa 3: Configure um novo diretório de dados MySQL
Edite o arquivo de configuração (meu.CNF
) para indicar o novo diretório de dados (/mnt/mysql-data
nesse caso).
# vi /etc /meu.cnf ou # vi/etc/mysql/my.CNF
Localize o [MySqld]
e [cliente]
seções e faça as seguintes alterações:
Sob [mysqld]: datadir =/mnt/mysql-data soquete =/mnt/mysql-data/mysql.meia Em [cliente]: porta = 3306 soquete =/mnt/mysql-data/mysql.meia
Salve as alterações e depois prossiga com a próxima etapa.
Configurar novo diretório de dados MySQLEtapa 4: Defina o contexto de segurança do Selinux como diretório de dados
Esta etapa é aplicável apenas a RHEL/CENTOS e seus derivados.
Adicione o contexto de segurança do Selinux a /mnt/mysql-data
Antes de reiniciar o mariadb.
# semanage fContext -a -t mysqld_db_t "/mnt/mysql -data (///////////////////.*)?" # RESTORECON -R /MNT /MYSQL -DATA
Em seguida, reinicie o serviço MySQL.
------------- No Systemd ------------- # SystemCtl Stop mariadb # SystemCtl ISActive MariaDB ------------- Em sysvinit ------------- # serviço mysqld stop # serviço mysqld status ou # serviço mysql stop # serviço mysql status
Agora, use o mesmo comando que em Passo 1 Para verificar a localização do novo diretório de dados:
# mysql -u root -p -e "selecione @@ datadir;"Verifique o MySQL New Data Directory
Etapa 5: Crie um banco de dados MySQL para confirmar o diretório de dados
Faça login no mariadb, crie um novo banco de dados e depois verifique /mnt/mysql-data
:
# mysql -u root -p -e "Crie banco de dados Tecmint;"Verifique o MySQL New Data Directory
Parabéns! Você mudou com sucesso o diretório de dados para MySQL ou Mariadb.
Resumo
Nesta postagem, discutimos como alterar o diretório de dados em um servidor MySQL ou Mariadb em execução no CentOS/Rhel 7 e Distribuições Ubuntu/Debian.
Você tem alguma dúvida ou comentário sobre este artigo? Sinta -se à vontade para nos informar usando o formulário abaixo - estamos sempre felizes em ouvir de você!
- « Como instalar o Chef Workstation em Rhel e Centos 8/7
- 10 sites úteis para aprender o sistema de banco de dados PostGresql »