Como alterar o diretório de dados MySQL/MariaDB no Ubuntu

Como alterar o diretório de dados MySQL/MariaDB no Ubuntu
Por padrão, os servidores de banco de dados SQL MySQL/Mariadb colocam seus dados no sistema de arquivos raiz. Não é isso que você deseja em seus servidores de produção na maioria das vezes. Você pode colocar os dados do servidor de banco de dados em um disco rígido diferente ou partição SSD.

Neste artigo, vou mostrar como alterar o diretório de dados padrão do banco de dados MySQL/Mariadb no Ubuntu. Então vamos começar.

Instalando o MySQL/Mariadb no Ubuntu:

Os pacotes de banco de dados MySQL/MariaDB estão disponíveis no repositório oficial do pacote Ubuntu. Portanto, você pode instalá -lo facilmente a partir daí usando o gerente de pacotes apt.

Primeiro, atualize o cache do repositório de pacotes apt com o seguinte comando:

$ sudo apt update

Agora, se você deseja instalar o MySQL Database Server, execute o seguinte comando:

$ sudo apt install mysql-server mysql-client

Se você deseja instalar o Mariadb Database Server, execute o seguinte comando:

$ sudo apt install mariadb-server mariadb-client

Vou instalar o servidor de banco de dados Mariadb neste artigo. Você pode instalar o mysql se quiser.

Depois de executar o comando de instalação necessário, você deve ver o seguinte prompt. Imprensa y e depois pressione continuar.

O servidor de banco de dados MySQL/Mariadb deve ser instalado.

Encontrando o diretório de dados MYSQL/MARIADB padrão:

Você pode encontrar o diretório de dados padrão do banco de dados MySQL/MariaDB com muita facilidade com o grep ou egrep comando.

$ sudo grep -r -cor -datadir/etc/mysql/*

Como você pode ver, o diretório de dados padrão para o servidor de banco de dados MARIADB é /var/lib/mysql. O arquivo de configuração do servidor de banco de dados MariaDB é /etc/mysql/mariadb.conf.d/50-server.CNF. Se você deseja alterar o diretório de dados padrão do servidor de banco de dados MariaDB, você deve alterá -lo no arquivo de configuração /etc/mysql/mariadb.conf.d/50-server.CNF.

O diretório de dados padrão do servidor de banco de dados MySQL é /var/lib/mysql também. Mas o arquivo de configuração é diferente para o MySQL Database Server. Para MySQL, o arquivo de configuração é /etc/mysql/mysql.conf.d/mysqld.CNF. Se você instalou o MySQL Database Server, para alterar o diretório de dados padrão, você deve modificar este arquivo de configuração.

Nas próximas seções, vou mostrar como preparar um disco rígido ou partição SSD para diretório de dados MySQL/Mariadb e alterar o diretório de dados padrão.

Preparando o diretório de dados MySQL/MariaDB:

Nesta seção, vou mostrar como preparar seu disco rígido ou partição SSD para diretório de dados mysql/mariadb.

Você pode listar todos os discos rígidos instalados ou SSDs no seu computador com o seguinte comando:

$ sudo lsblk | disco grep

Todos os discos rígidos e SSDs instalados devem ser listados. sdb é o disco rígido onde eu quero colocar meus dados MySQL/Mariadb. O seu deve ser diferente. Então, substitua -o por seu a partir de agora.

Agora, você tem que fazer uma nova partição no disco rígido sdb com fdisk.

OBSERVAÇÃO: Nesta seção, não vou examinar os detalhes sobre como o trabalho de fdisk. Para aprender a particionar discos rígidos ou SSDs com fdisk, leia o artigo como usar o fdisk no Linux.

Para fazer uma partição no disco rígido sdb, Abra -o com fdisk da seguinte maneira:

$ sudo fdisk /dev /sdb

Agora, pressione n e depois pressione .

Agora, pressione p e depois pressione .

Agora, pressione .

Imprensa .

Imprensa . Uma nova partição deve ser criada.

Agora, pressione c e pressione .

Digamos que a partição do disco rígido que você deseja usar como o diretório de dados MySQL/Mariadb é /dev/sdb1.

Agora, formate a partição /dev/sdb1 com o seguinte comando:

$ sudo mkfs.ext4 -l db_data /dev /sdb1

Agora, faça um novo diretório /dB Para abair o /dev/sdb1 partição.

$ sudo mkdir /db

/dB será o novo diretório de dados do MySQL/Mariaadb.

Agora, aberto /etc/fstab Arquivo com o seguinte comando:

$ sudo nano /etc /fstab

Agora, adicione a seguinte linha no final do arquivo e salve o arquivo pressionando + x seguido pela y e .

/dev /sdb1 /db ext4 padrões 0 0

Agora reinicie seu computador com o seguinte comando:

$ sudo reiniciar

Uma vez que o seu computador botas, /dev/sdb1 deve ser montado em /dB Como você pode ver na captura de tela abaixo.

$ df -h /db

Agora, mude o proprietário e o grupo do /dB diretório para mysql com o seguinte comando:

$ sudo chown mysql: mysql /db

Agora, você precisa interromper o serviço de banco de dados MySQL/Mariadb e copiar todos os arquivos do diretório de dados padrão /var/lib/mysql para o novo diretório de dados /dB.

Se você estiver usando o Mariadb, pare o serviço MariaDB com o seguinte comando:

$ sudo systemctl pare mariadb

Se você estiver usando o MySQL, pare o serviço MySQL com o seguinte comando:

$ sudo systemctl pare mysql

Agora, copie todo o conteúdo do diretório de dados padrão /var/lib/mysql para o novo diretório de dados /dB com o seguinte comando:

$ sudo rsync -avzh/var/lib/mysql//db

Todo o conteúdo de /var/lib/mysql O diretório deve ser copiado para o novo diretório /dB.

/dB O diretório agora está preparado para ser o novo diretório de dados MySQL/Mariadb.

Configurando o Appmor:

Agora, você precisa configurar o Apmor para permitir /dB ser um diretório de dados MySQL/MariaDB.

Para fazer isso, edite o arquivo de alias do Appmor /etc/aparmor.D/Tunables/Alias do seguinte modo:

$ sudo nano /etc /aparmor.D/Tunables/Alias

Agora, adicione a seguinte linha no final do arquivo e salve -a pressionando + x seguido pela y e .

Alias ​​/var /lib /mysql -> /dB,

Agora, reinicie o serviço do Apmor com o seguinte comando:

$ sudo systemctl reiniconepmor

Agora, você está pronto para alterar o diretório de dados do MySQL/Mariadb.

Alterando o diretório de dados MySQL/MariaDB:

Para alterar o diretório de dados de /var/lib/mysql para /dB, Você precisa editar o arquivo de configuração necessário, dependendo se você está usando o MySQL/Mariadb.

Se você está usando o mariadb, o arquivo de configuração que você deve editar é /etc/mysql/mariadb.conf.d/50-server.CNF.

Se você está usando o MySQL, o arquivo de configuração para editar é /etc/mysql/mysql.conf.d/mysqld.CNF.

Agora, edite o arquivo de configuração necessário, dependendo de você estar usando o MySQL/MariaDB da seguinte forma:

Mariadb:

$ sudo nano/etc/mysql/mariadb.conf.d/50-server.CNF

Mysql:

$ sudo nano/etc/mysql/mysql.conf.d/mysqld.CNF

Agora, encontre a linha marcada na captura de tela abaixo.

Mudar o Datadir para /dB como mostrado na captura de tela abaixo. Em seguida, salve o arquivo pressionando + x seguido pela y e .

Agora, comece o serviço MySQL/Mariabd com o seguinte comando:

Mariadb:

$ sudo systemctl start mariadb

Mysql:

$ sudo systemctl start mysql

Testando o MySQL/Mariadb:

Agora, tente se conectar ao servidor MySQL/Mariadb da seguinte forma:

$ sudo mysql -u root -p

Em seguida, digite a senha do servidor MySQL/Mariadb e pressione .

Você deve estar conectado ao shell MySQL/Mariadb como raiz Usuário do banco de dados. É uma indicação de que funciona.

Mas, apenas com certeza, digite a seguinte consulta para descobrir qual diretório MySQL/Mariadb está usando como diretório de dados.

sql> selecione @@ datadir;

Como você pode ver, o diretório de dados atual é /dB Assim como eu configurei.

Então, é assim que você muda o diretório de dados MySQL/MariaDB no Ubuntu. Obrigado por ler este artigo.